Bom dia meu xará
Eu creio que tenha encontrado o que está causando esse comportamento: o bloco de código do if (achou == false) deveria estar dentro das chaves do bloco if (sorteioDosNumeros !== 0). É uma situação difícil de notar mesmo mas você pode habilitar no seu editor de texto uma "dica" que sempre te mostra onde as chaves foram abertas e onde elas fecham, alguns te deixam até colorir diferente cada par. Recomendo fazer uma busca sobre.
Qualquer coisa estou colando aqui a parte que você precisa substituir:
if (sorteioDosNumeros !== 0) {
            for (var posicao = 0; posicao < arrayDeNumeros.length; posicao++) {
                if (arrayDeNumeros[posicao] == sorteioDosNumeros) {
                    achou = true;
                    break;
                }
            }
              if (achou == false) {
                  arrayDeNumeros.push(sorteioDosNumeros);
                  contador++
              }
        }
Qualquer coisa é só retornar aqui. Abraço e bons estudos!