It is easy to shit on the party in office which is BJP right now but show me a country that can have hundreds of languages, all religions and still survive for centuries as one country. Europe couldn't do it. They broke into EU (for better or worse). There are flaws but India is a complex country of various cultures and you have to understand the nuances.
Congress party ruled India for decades after Independence in 1947 and all they could do was to keep India as a 3rd world country while other similar countries progressed economically. Fun fact: Until the early 1980s, India and China were same econonically when COngress ruled India for decades. And talk about authoritarianism ? Who was the one who declared emergency in 1974 and suspended all "civil rights". That was Indira Gandhi from Congress, the so called "secular" party.
My point is that there is no saint and people in india like BJP because they are at least doing some work in various areas including infrastructure, economy and areas that have been neglected for decades. So yea, people wanted change and they got change with Modi as a strong leader.
Source: Also an NRI who is a naturalized US Citizen and I see a lot of positives among all the negatives that Media loves to portray.