Let me share how I understood the issue.

Pre-independence, during the Zamindar System (Indian version of Feudalism). The Zamindar owned the land and the farmers worked on it and the Zamindar compensated them what he felt like. The farmers had no leverage to bargain and was pretty much the salve of the Zamindar. This was the Indian version of slaves.

Similarly after the Independence, the Zamindar System was abolished. But a market yards (mandis) system came up, here the farmer either owns the land or rents out the land from someone. But can ONLY sell the produce to the local Mandi. The Mandi has the upper-hand in deciding the prices and the farmer cannot negotiate as no one else is allowed to buy it from the farmer. The Mandi effectively became a new/mutated (keeping up with the Covid times ;)) version of Zamindar aka Feudalism. The farmers are still technically slaves of the Mandi.

As per the new law, the farmer has to right to sell the produce to ANYONE, including the Mandi. So, the Mandi can quote the price and if anyone bids a higher price, they can get it. If need be, me as a consumer can buy directly and legally from the farmer.

As for the minimum price protection, the mandi does offer that service and that service will continue as per the current system if you agree to sell to the Mandi. But in many states, the state government offers an insurance were the farmer can enroll in it and if the crop is damaged due to weather or locust (like it happened recently) or failed to get a promised minimum price, the farmer will be compensated.

In the state of Tamil Nadu (couple of relatives are involved in farming there), this insurance/financing is done via the Banks. At each stage, the bank gives money for buying manure & seeds. Basically you can take a loan from the bank to do agriculture and if it fails or you dont get the minimum promised price, the loan is written off. So, the farmer can do the agriculture without spending any money from their own pockets and in case of loss, the bank writes off the loan.

There are similar systems in various states, because of the Mandis there is no competition and the state govt & Mandis and do what they feel like. Now with the new law, the Mandis are facing competition. Basically they opened a protected market to competition.

As you asked, the BJP is pushing to implement this law in an Agrarian country like India is because they know that the majority needs this law and they can use this to get votes in the next election.

Right now the whole protest is from the single state of Punjab where you have the oldest and the richest Mandis. You cannot blame the Mandis for getting upset in damaging their business.

Plus states like Kerala with very low farming and they don't have a mandi system but is ruled by the communist party is just sending their party workers to protest, just because they dont want the BJP to succeed. Their opposition is to the party that is implementing the change and not the law. That is the same case with most of the opposition.

To me, this is like the horse traders protesting when the Automobile came out or the coin-operated telephone people protesting when mobiles came about or like the fossil fuel industry crying about the advent of Solar & renewal energy.