Olá, Fabricio, como vai?
O seu código cumpre a lógica básica de validação, porém há dois pontos que merecem atenção. O primeiro é o uso da variável chamada senha para armazenar também o nome de usuário, o que pode gerar confusão na leitura do programa. O segundo é que o enunciado sugere que a verificação de usuário e senha aconteça dentro de um único laço, repetindo tudo apenas quando algum dos dois estiver incorreto.
Uma forma de organizar melhor seria separar as variáveis e manter um único while para que o fluxo fique mais claro. Por exemplo, você pode solicitar o nome de usuário, verificar o tamanho, depois solicitar a senha e validar também, repetindo tudo enquanto uma das condições não for atendida.
Continue praticando e compartilhando seus códigos no fórum. O espaço está sempre à disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!