Yeah I agree it's mostly about passion. Not just for computer science, but engineering as well.
I know many graduates with multiple job offers to choose from, and many graduates spending months looking and would take just about any job.
The first group didn't necessarily start coding very early on (many didn't start until university), but they are all very passionate about the subject, tried to learn as much as they can, and all have at least a few side projects. By the time they graduate they already have significant development experience.
The second group joined CS because they saw ££££. They did the minimum required to get the piece of paper, thinking that's all they need to get a nice high paying job. They have practically 0 development experience, and hate what they do.
If you are an employer, which group would you pick from?
The problem with statistics is that it makes this sound like a totally random thing, as if when you graduate, you draw a number from 1 to 100 from a hat, and if you are unlucky and drew a number less than 15 (15% unemployment rate), you don't get a job. The truth is not like that at all. If you are passionate and competent, you are GUARANTEED a few good jobs to choose from. If not, you are not.
I have mentored many younger students in undergrad (mostly in engineering), and even for first year students, most of the time, within the first 10 minutes of meeting them, I'd know which group they will fall into when they graduate 4 years later (undergrad in most other parts of the world is 4-5 years).