Oi, Marcelo, como vai?
A identificação do problema e a correção aplicada estão certas. O código original nunca incrementava a variável contador, então a condição contador < 10 jamais se tornava falsa e o loop rodava indefinidamente. Ao adicionar contador += 1 dentro do bloco, o valor avança a cada iteração até atingir 10, encerrando o laço normalmente.
Esse tipo de situação é bem comum ao trabalhar com while, já que diferente do for, ele não avança automaticamente por uma sequência. Toda a responsabilidade de atualizar a condição de parada fica com quem escreve o código.
Pensando nisso, em que tipo de situação você usaria um loop while em vez de um for, mesmo sabendo que o while exige esse cuidado extra com a condição de parada?
Parabéns pelo exercício e obrigado por compartilhar. O fórum está à disposição sempre que precisar.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!