Oi, Giovanni! Como vai?
A sua solução ficou bem organizada, com funções separadas para título, validação do nome de usuário, criação da senha e apresentação do resultado. O uso do while True com return foi uma boa escolha, porque mantém a repetição até que a entrada informada seja válida.
Você aplicou bem os laços de repetição e deixou o fluxo do programa claro dentro da função main(). Uma dica é aproveitar a variável senha em validações futuras, por exemplo verificando se ela possui números ou caracteres especiais, mantendo a senha escondida na exibição como você já fez com "******". Qual nova regra de senha você adicionaria para deixar esse cadastro mais seguro?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!