I have worked at a prestigious tech company, and I know what OP is talking about. A lot of very talented people don't have side projects, and they don't do any coding outside of work. They don't go to hackathons. They don't bother to learn the newest reactive javascript framework. They go to yoga classes after work. They talk about TV shows they watched last night during lunch. But they EXCEL at what they do at work.…
On a tangent, I don't really like the word passion anyway. What makes me a good programmer is not my passion for it, it's my curiosity and motivation. My motivation is a primary factor in my performance, and that probably is 80% influenced by context, and 20% by the content of the task itself (at least for most things that fall within the standard purview of programming tasks).
Finally, you don't mention talent for the new graduate. That is a huge factor. If the new grad is not extremely talented, they will never produce anything of value. If they are highly talented they can likely power through a lot of things, but they also need to make good decisions about what to work on since time allocation is the single hardest thing about getting early traction for a startup. Yes, all else being equal, take the guy that wants to work 16 hours a day and has no other distractions, but if the veteran who wants to work 30 hours a week has better business sense and a smarter idea of what to build and when, then that dwarfs the code quality consideration.