Because most people can’t. Self-directed learning is brutally hard and most people can’t do it even with a detailed road map. Without even that the competition rate will drop even further. To a first approximation the only people who complete MOOCs are those who already have degrees. The kind of people who can compete freecodecamp by themselves are very close to the ones who can work through a Math textbook by themselves, doing all the exercises.
If you can't do that then I'd argue you're not cut out to be a developer. As someone doing hiring I would never hire someone who had difficulty in doing any of the things you mentioned are difficult. You've basically listed the things I value in a hire.