Do I need to sign every Powershell script (external .ps1 file) that I include in my Powershell profile?
Assumindo uma Política de Execução de 'AllSigned' ou 'RemoteSigned', então sim, você precisará assinar todos os scripts. Importar um script externo através do seu perfil é o mesmo que executar (ou fornecer) o arquivo PS1.
If so, can I sign it with the same certificate (or is that a worst practice)?
Você deve estar assinando todos scripts que você cria com o mesmo certificado - seu certificado de assinatura. O certificado de assinatura emitido para você é o que identifica você como o editor dos scripts assinados.
And just to be clear if a script changes, I only need to resign the script that changed correct?
Você só precisa assinar novamente os scripts quando você tiver modificado os scripts. Você deve assinar novamente com seu certificado de assinatura. Se você achar que um script foi modificado, sem o seu conhecimento, você deve identificar a fonte da modificação para determinar se era esperada ou não.