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>