We don't really need a law for this nor anyone needs to implement a button. Visa, Mastercard etc. can simply run a service where all the transactions that are marked as "recurring" will have an associated button "Revoke payment authorization" in their app. Once you revoke it all future recurring payments for that authorization will fail. It should be the responsibility of merchant to ensure they have authorization before providing service.
This can be sold as "Peace of Mind"^(TM) service and merchants who opt into this can can proudly show it off. Those merchants who do not have this, might have to show a warning to their customers that it is not a "Peace of Mind"^(TM) merchant.
Further I am pretty sure Mastercard, Visa can easily see which merchants are problematic. I am sure SiriusXM, La Fitness etc. will be on the top of their list and they can create a threshold beyond which those problematic merchants will have to pay a higher transaction fee in order to continue or opt into "Peace of Mind"^(TM) program.
The real issue here is the the regulation. All Fintech companies are super scared to try anything new as the various federal agencies will make an example out of anyone who builds something that disrupts the market. Entire history of financial regulation in this country is about protecting the interests of the existing players only and all the existing players are mostly indistinguishable from each other. Rarely someone like Robinhood tries to disrupt and you can see how much shit the media partners throw on RH. While many of these media partners tell you how dangerous RH is nearly no one explains why Fidelity, MorganStanley etc. have such shitty and outdated sites and UX.