... because, apparently, his victory over the anti-war Democrats wasn't large enough.
Bush claims he's vetoing the bill because of a provision to allow victims of Saddam Hussein's regime to sue for damages. What those victims are supposed to do without this provision Bush doesn't say- but I personally suspect that this issue, brought up at the very last minute before the budget would become law without Bush's signature, is only an excuse.
The real issue is this: Bush wanted $180 billion for Iraq and Afghanistan, with no restrictions or oversight. After a token resistance, the Democrats allowed a budget to pass that funded the wars by only $70 billion- but with no restrictions or oversight.
For Bush, this is not enough.
Bush wants it ALL.
George W. Bush views Congress as nothing more than a rubber stamp for his elective monarchy. He, as the Great Decider, makes all the decisions; Congress has no option but to endorse them. Any resistance, even the minimal resistance of not giving him all the money he wants, is unacceptable.
Bush says he'll work with Congress to produce a new bill, one that gives troops a pay raise and fully funds the military. In the past, whenever Bush has said, "work with Congress," he's actually meant, "tell Congress what they're going to do, to hell with anyone and anything else."
Why should things be different now?