No, the 2 server must not necessarily use the same port, but it is recommended, as there are many corporate firewalls out there preventing any ports other than 80 and 443 to be accessed. So, if you want the maximum accessibility for your application, you should avoid using non-standard ports, like 8081.

If you decide to go for two different ports, then you don't need two network cards, you don't need two public IP addresses, and you don't need two different hostnames.