Capistrano checks for unique server names. You can use ssh aliases in ~/.ssh/config to workaround the problem.
server 'ssh_aliases1', roles: %w{web}
server 'ssh_aliases2', roles: %w{web}
And add this to ~/.ssh/config
Host ssh_aliases1
  HostName myservice.cloudapp.net
  User azureuser
  port 53458
Host ssh_aliases2
  HostName myservice.cloudapp.net
  User azureuser
  port 62434