Disclaimer: This answer does not depict any specific person or place. I don't hate all NRIs personally. This answer is only the representation of certain minds and mindsets.
An NRI or a Non-Resident Indian is a person who is currently a citizen of India but is currently living in some other country. An NRI is as much Indian as a Non-NRI, but there are some big differences between these two factions. And this brings me to your question, " Why Indians Hate NRI?"
The answer is, they don't. I have never seen any Indian who despises NRIs, but there are some NRI based ideologies that Indians hate from deep inside their heart. These Ideologies are:
1. NRI's definition of success: For many NRI's, the meaning of success is only to go abroad. No matter how or why they musy have left the country but it's their success that they left India.
2. Cultural issues: I have seen many NRI people who have little to no knowledge of Indian cultures. Because of this, some NRIs face serious accusations from Indians.
3. Economic factors: If you have an NRI friend of yours who is working in Silicon Valley California. He/She must have heard the line "Why are you helping increase other country's economy? Why don't you work in India to develop your own country?"
So basically, Indians never hate anyone but these Indians do hate some things related to NRI. And i believe they are not wrong in doing so. I hope these misunderstandings will soon be cleared both both sides.