As a product of this system, the reason seems fairly straightforward to me. Its plain simple economics. On average, in India, engineering is the path of least resistance to a quality of life better than your parents. When I graduated about a decade ago, engineering was perceived as a stepping stone. Indeed, most of my classmates are not in engineering anymore (most of them weren't even interested in it), and, by all modern measures, quite successful. A 4-year engineering is seen as a foundation to bigger things, and that doesn't seem like such a bad thing at all. Its the generally accepted way of getting to the top of the pile, if you're not born into money, and so its not surprising its such a popular choice.
There seems to be a small sliver of anecdotal evidence that this may be changing, with people willing to follow their passions more, but the effects of this 'at scale' remains to be seen.
To folks with the bad-programmers-from-India experience, the fault is solely yours. You're looking for engineers from this system to do your job for the least money. You're going to get people who're great at selling themselves, not great hackers.