I'm fully aware of who you are, and at least some of your successes (I've used Redis in several projects now, and love it).
For me it's an age thing. I put in some extremely long hours in my youth, and I think it paid off. I'm not putting in as many hours these days, but then again I feel like I'm quite a bit more productive with my time than I used to be.
I think it's the experience itself that's the differentiator, and not the fewer hours. In fact it's the experience that enables me to work fewer hours. When I was younger I really had to bang away trying many more approaches to solve a problem, and that meant longer hours.
Yes I share this experience with you: when I was 18 or 20 I worked a lot of hours, but this was pure fun as I was learning to write code. This is probably a very good investment: it completely does not weight on you since you are having true fun, and of course 20 years old can do things that are impressive :) At least for me that I'm now 35.
However my father is like your father in this regard: he thought me to work long hours, and he still does even if it is 63 now. But I've the feeling that the work it does that has more to do with people, with moving from one place to the other to fix problems, and things like that, is much more "long hours compatible". The solve fact it does not sit all the day is different... In short I think that programming is exceptionally bad: too static, too focused, too stressing, too timelines, ...