1) I didn't have to open any ports for Skype. Why do I have to do it for Viber?
Porque não funciona da mesma maneira que o Skype. É assim que o protocolo deles é projetado, não há nada para fazer para você como usuário.
2) How can I open the ports for all my devices at home? My router requires me to specify a target device when I go to configure custom ports. Again, Skype doesn't have this problem.
Você não pode. Quando você está, por exemplo, navegando no Superusuário, é o seu PC que se conecta aos servidores da SU e a resposta do servidor é roteada para o seu computador. Mas quando é um computador externo que tenta iniciar a conexão, ele não conhece o layout da sua rede interna, então está apenas falando com o seu roteador. Mas o roteador não sabe para qual computador o servidor está tentando se conectar, então ele simplesmente se recusa a configurar a conexão. Isso é o que o encaminhamento de porta é para: você está dizendo ao roteador para rotear todas as conexões na porta especificada para um determinado IP local. É também por isso que não é possível rotea-los para vários dispositivos: as ligações de entrada têm sempre um destino e, mais uma vez, o seu router não consegue adivinhar qual é o correto.