The fact is had the Pubbies not lost so many Senate seats and had Jeffords not jumped, the bill would never have hit Bush's desk.
So why'd he sign it? Because Enron made Bush and Republicans vulnerable to the charge that he would veto CFR to keep the soft money millions flowing from the oil patch. CFR does not resonate with ordinary voters but Enron does. So the political calculus changed from last year and Bush signed the bill to keep the House from going Dem and give the Pubbies a chance at retaking the Senate. Bush figures taking such a serious political hit on CFR isn't worth it if the SCOTUS is likely to throw out the bad part anyway.
If you want to blame somebody, blame Lay, Skilling and Fastow for their greed in deciding to take a boring gas company and convert it into a commodity speculation scheme that went bad, which they covered up with securities fraud. And for which, perversely, Arthur Andersen will be destroyed while Enron lives on in Chapter 11. Blame the law of unintended consequences.