Boa noite Antonio,
Vamos lá, acredito que quando você copiou o código do arquivo .js ficou faltando a primeira linha, que seria essa:
var pacientes = document.querySelectorAll(".paciente");
Mas o que realmente esta causando o problema descrito por você esta dentro da função "montaTr ( )", mas especificamente essa parte do código:
nomeTd.textContent = nome;
pesoTd.textContent = peso;
alturaTd.textContent = altura;
gorduraTd.textContent = gordura;
imcTd.textContent = cauculaImc(peso,altura);
Você se esqueceu de mudar de onde as informações que serão passadas para os Tds (nomeTd, pesoTd, alturaTd, gorduraTd e imcTd) estão vindo.
Antes da função "obtemPacienteDoFormulario( )" ser criada essas informações vinham de variáveis individuais (nome, peso, altura, gordura) que recebiam os valores do formulario HTML (o nosso "form" no código JS), mas agora essa função guarda as informações do formulario em um objeto (paciente), o mesmo objeto que você esta passando como parâmetro da sua função "montaTr ( )".
Sendo assim, você precisa buscar esses valores dentro desse objeto, mas especificamente, cada valor dentro da propriedade correspondente no objeto. Com isso o seu código fica assim:
nomeTd.textContent = paciente.nome;
pesoTd.textContent = paciente.peso;
alturaTd.textContent = paciente.altura;
gorduraTd.textContent = paciente.gordura;
imcTd.textContent = paciente.imc;
Repare que você não precisa mais chamar a função "cauculaImc ( )" nessa parte do código, pois a função "obtemPacienteDoFormulario( )" já entrega para você o valor do imc calculado, dentro da propriedade "imc" do objeto "paciente", em resumo, dentro do "paciente.imc".
Grande abraço.