Oi, André! Como vai?
Sua validação ficou bem organizada ao verificar o tamanho com len() e depois conferir se o CPF tem apenas números com isdigit(). Um ponto de ajuste é inverter a ordem da segunda verificação para evitar que um CPF com 11 caracteres, mas contendo letras, passe pela mensagem errada.
Uma dica interessante para o futuro é usar and para validar as duas condições na mesma estrutura. Veja este exemplo:
cpf = input("Digite seu CPF: ")
if len(cpf) == 11 and cpf.isdigit():
print("CPF valido.")
else:
print("CPF deve ter 11 digitos e conter apenas numeros.")
Esse código confere se o cpf tem 11 caracteres e se todos eles são números antes de mostrar a mensagem de CPF válido.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!