I have an Azure web role with two instances. Both instances are \"ready\" - running okay.
On my desktop I have four instances of the same program running simultaneously
This is likely from the Load Balancer optimizing request routes because all of the requests are coming from the same IP. While it often looks like it, the LB in Azure is not a true dumb Round Robin.
If you just didn't expect this, but the server is handling the load, then you are ok. You could even turn off the second instance until your metrics show the server is busy (saving you money).
If you need to be able to load balance from the same IP, then I would look at using a queue perhaps. Although that would be unusual for a web request (versus some backend processing).