Can two servers run on the same machine?
Yes you should be able to do this. You'll have to port forward for each server. I found this post that explains how it works.
Basically you do the port forwarding and when you want someone to join, give them the IP followed by the port number separated by a colon. An example would be:
111.222.333.10:25555
Your other server would be something like:
111.222.333.10:25556
Just keep in mind that running multiple servers is going to put a heavier burden on the machine.
Take a look into Bungeecord. It's specifically designed for that purpose. It's a special type of server that "bungee"s servers together. Many servers have done this. Use this video for a startup guide.