I do agree with the general notion that working 8 productive hours everyday does not work long-term. But assuming that you could work three hours completely productively every day, that does not imply that the remaining five hours would be completely worthless. In a normal work week, I am sure you could get more out of the remaining 5x5 = 25 hours than the six hours at the weekend.
Especially the advice that you must stop after three hours even when you're "in the zone" seems hard to justify. Instead of insisting on a hard and fixed number of hours everyday, I think it's much more fruitful to follow a flexible time model (which is actually implemented in many work places today): if you happen to have a very productive day, just keep milking it and put in some extra time. In return, you can take that time off on some other day.
I think the appeal of "3 hours a day" is that the number is so extremely low compared to the number 8. But I don't think that it will work. Flexible time models also give you a pretty good work-life balance, and they're more realistic. I mean, for one, you won't find an employer who will follow this 3-hour model, so we're only talking about self-employed workers. But even then, it has to be a pure coding or other desk job - if it involved e.g. any meetings at all, how are you going to fit that into your small time budget of three hours only per day?
Yeah, like I said, I don't think that this model is going to work in most situations and for most people.