I love reading books. In fact, I'd say it's one of my very favorite things to do by myself.
But when I have a project, even without a looming deadline... I find myself hurrying. And doing way more work on the project than I need to. And so, (among many other things), my books sit on the shelf.
Most programs are never truly finished. There is no "Done with that, time to watch a movie!". You or your boss can always add some more unit tests, another feature, or fix a bug.
And there is *always* bugs. Unless you use formal methods and prove the correctness of every line, there will be bugs.
Worse still, day-to-day coding on most projects I've been on is usually not particularly challenging, just kind of tedious. Usually you have a decent idea of what to do next, or at least what to Google.
Nobody likes to leave something unfinished. Especially with the next step fresh in their mind. So they code some more! And so on it goes.
The only limit to the endless timedrain is the one you make yourself, because the computer sure isn't going to give you one.
Most days, I love code. It replaces so many delicate mechanical parts, makes almost every activity of the day more convenient, and automates the things nobody seems to want to do anymore.
But some days, I can't exactly say I love code-ing.