We know MAC address is unique in each devices.So why can't we just send/receive data using MAC address only?
MAC is Media Access Control which provides physical connectivity only. IP Address provides Host or Network interface Identification and Location addressing.
For your second question, Let we have two connections, one is for Local connection and other is for internet or virtual machines are running in the system. what happen the IP of both connection will be different but the physical address of machine same. In this case what will you do? In this case IP address defines the address where the system will communicate.
The reason for that is the routing. If you have an IP, for example 126.96.36.199 for the www.microsoft.com, every router on the Internet knows, where to send packets to this IP address. They are organized into a tree-like structure in the Internet, where the IP networks of the organizations have a global registry.
In the case of the MAC addresses, there is no such thing. From a MAC address you can only see which company manufactured the chip, but no more.
MAC addresses are normally fixed in the NIC firmware, while IP addresses can be freely set everywhere.
There is also a deeper reason: in the cases of the NIC, there is no guarantee that you want to make IP traffic on them, it is only a quasi-common standard. Earlier existed different protocols (for example, IPX, or the microsoft win2000 servers also had one) which didn't use IP, but another protocol over the NIC cards.
IP is the standard of the Internet, while the MAC is the standard of the Ethernet. It is not obligatory to use IP from Ethernet, for example in the ancient times there were ARCNET cards which used a quite different protocol (as I know, their "MAC" were much shorter, too).
Or there are VPN protocols which also traffic only IP packets without an Ethernet frame.
So, IP is the common of the Internet, and you can connect into it with everything. Most people connects with Ethernet packets but it is not needed.
Btw, having an "Internet" which uses MAC addresses instead of IP, would be possible, although it would require to develop the complex protocols and shared databases on every protocol layer to use them. They are developed for IP in the times where the Ethernet didn't even existed. So, the final answer to your question is the social inertia.