Oi Minoru
O if do 'push' precisa estar fora do for e na verificação lógica do if precisa ser 2 iguais, aqui está o código:
<meta charset="UTF-8" />
<h2>Nome dos familiares</h2>
<script>
var nomes = [];
var quantidade = parseInt(prompt('Digite a quantidade de familiares'));
var contador = 1;
while (contador <= quantidade) {
var nome = prompt('Digite o nome do familiar ' + contador);
var existe = false;
for (var posicao = 0; posicao < nomes.length; posicao++) {
if (nomes[posicao] == nome) {
existe = true;
break;
}
}
if (existe == false) {
nomes.push(nome);
contador++;
}
}
document.write(nomes);
</script>