More than 10,000 protesters braved tear gas and baton charges in their largest challenge yet to PM Modi's government.