Olá. eu fiz uma solução diferente dos instruturos para o sorteio. Primeiro, em vez de um, crie dois arrays. Um para colocar o nome de quem vai sortear, e outro de quem será sorteado. Ambos receberão as informações dadas no input do id nome-amigo. No sortear, criei a variavel repeticao, para que o loop repita a quantidade igual ao tamanho inicial das listas. Criei tbm as variaveis sorteador e sorteado que receberão o nome do amigos das listas de acordo com o sorteio feito pelo Math.floor(Math.random() * array). E quando é escolhido o sorteador e sorteado, os nomes são removidos de suas respectivas listas com o .splice()
document.getElementById("nome-amigo").focus();
var arrayNomesSorteadores = [];
var arrayNomesSorteados = [];
function adicionar(){
var nomeAmigo = document.getElementById("nome-amigo").value;
var listaAmigos = document.getElementById("lista-amigos");
if(nomeAmigo == ""){
alert("Preencha o campo do nome corretamente!");
} else{
arrayNomesSorteadores.push(nomeAmigo);
arrayNomesSorteados.push(nomeAmigo);
if(listaAmigos.textContent == ''){
listaAmigos.textContent = nomeAmigo;
} else{
listaAmigos.textContent = listaAmigos.textContent + ", " + nomeAmigo;
}
}
document.getElementById("nome-amigo").value = "";
document.getElementById("nome-amigo").focus();
}
function sortear(){
var listaSorteio = document.getElementById("lista-sorteio");
var sorteador;
var sorteado;
var repeticao = arrayNomesSorteadores.length;
for (i = 0; i < repeticao; i++) {
var sorteador = arrayNomesSorteadores[Math.floor(Math.random() * arrayNomesSorteadores.length)];
arrayNomesSorteadores.splice(arrayNomesSorteadores.indexOf(sorteador), 1);
var sorteado = arrayNomesSorteados[Math.floor(Math.random() * arrayNomesSorteados.length)];
while (sorteado == sorteador) {
sorteado = arrayNomesSorteados[Math.floor(Math.random() * arrayNomesSorteados.length)];
}
arrayNomesSorteados.splice(arrayNomesSorteados.indexOf(sorteado), 1);
if(listaSorteio.innerHTML == ""){
listaSorteio.innerHTML = `${sorteador} → ${sorteado} <br>`
} else{
listaSorteio.innerHTML += `${sorteador} → ${sorteado} <br>`;
}
}
}