They punted. That’s the fact of the matter. And they didn’t have to...they could have walked into the end zone for freedom.
They could have. They could also have overruled Roe, and nobody could do anything about it. I realize that is an extreme “example”, but aside from degree, the reason is the same that they didn’t overrule Roe or McConnell/BCRA.
I believe there are perfectly legitimate, in fact proper and in the context of judicial restraint quite laudable, reasons why they did not overrule McConnell. You have to be aware of the history of the BCRA decisions and more particularly the lower court history of WRTL II. Scalia would have gone farther, but the point is that there are reasons other than being wimpy/traitors/Bushies that Scalia and Roberts chose not to.