If you work a salary job and don't feel up to it for at the moment, you can coast for half a day and get your shit together. On your own, that's a half a day of lost money. My brain needs breaks, and I just can't do code 40 hours a week and not burn out. I've tried. It just hasn't worked. So that downtime is a requirement, and you lose money for it.
The best part is that a decent programmer can make a moderate income working relatively little. Or you can make a lot of money if you work very hard. It's your choice at any given moment. But don't underestimate the drain of having to work for one to three people at a time, managing your time, and making sure the pipeline doesn't run dry all at the same time. It's pretty annoying/stressful when two important clients have deadlines on the same day. It's not like you can just pull in more help. Or if you can, you then have two problems - you have to go out and find the help, manage it, etc.
I don't think I could bill more than 25 hours a week and keep my sanity. But I'm not exactly a workaholic, and 25 hours a week is a pretty good living.
Milage may vary.