Hola lo que pasa es que tu if :
if(encontrado == false){
secretos.push(numeroAleatorio);
cont++;
}
Esta afuera de tu otro if que te ayuda a validar que el numero no sea cero, este:
if(numeroAleatorio != 0){
for(var posicion = 0; posicion < secretos.length; posicion++){
if(numeroAleatorio == secretos[posicion]){
encontrado = true;
break;
}
}
}
Debería ir adentro de ese if. Y quedaría así:
if(numeroAleatorio != 0){
for(var posicion = 0; posicion < secretos.length; posicion++){
if(numeroAleatorio == secretos[posicion]){
encontrado = true;
break;
}
}
if(encontrado == false){
secretos.push(numeroAleatorio);
cont++;
}
}
Espero haberte ayudado