The Angels offered him 3/24, so there's your reason. The extra year is what he required.
I posted this thought on the other sports forum I visit, but I figured I'd share it here too. 8 million bucks is about average for a 4 or 5, back-of-the-rotation guy. So if you're the Royals, you can just have a revolving-door system where you bring in a different 8 million dollar vet, or you might as well have it be the same guy for 4 years.
That longer deal also makes sense considering how inflated contracts are becoming. With Tim Lincecum getting his ridiculous deal, then bums like Nolasco and Jimenez asking for the moon, they might be making the frugal call by locking in the cheap guy for four years. Who knows what an analogous pitcher will cost in 3 years.