Say, If I am hosting a website say www.mydomain.com on EC2 instance then apache would be running on port 80. Now If I want to host a RESTful API (say mydomain.com/MyAPI)  using a python script(web.py module). How can I do that? Wouldn't running a python script cause a port conflict?
No. 
Apache is your doorman.  Your python script are the workers inside the building.  The public comes to the door and talks to the doorman.  The doorman hands everything to the workers inside the building, and when the work is done, hands it back to the appropriate person.
Apache manages the coming and going of individual TCP/IP messages, and delegates the work that each request needs to do to your script.  If the request asks for the API it hands it to the api script; if the request asks for the website it hands it to the website script.  Your script passes back the response to apache, which handles the job of giving it to the client over port 80.
As @Lafada comments: you can have a backdoor—another port—but apache is still the doorman.
Amazon AWS EC2 : How to host an API and a website on EC2 instance