Oi, José Rafael! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Gostei bastante da forma como você separou a lógica em funções, principalmente validar_input(), deixando o código mais organizado e reutilizável. O uso de set para evitar repetições foi uma escolha muito adequada para a proposta da atividade, e o cuidado com tratamento de exceções mostra atenção a possíveis erros de entrada.
Uma dica interessante para o futuro é usar o método setdefault() em dicionários quando quiser contar quantas vezes um nome foi digitado, por exemplo. Veja este exemplo:
nomes = {}
nome = input("Digite um nome: ").strip().lower()
nomes.setdefault(nome, 0)
nomes[nome] += 1
print(nomes)
Nesse código, setdefault() cria a chave com valor 0 caso ela ainda não exista, facilitando contagens e organização de dados.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!