Also, working on code in a team is very different from working on personal projects alone. It adds in a whole bunch of things that aren't necessary on personal projects. You don't just need to know how to use a VCS but how to use it in a way that won't cause headaches for your coworkers. You need to know how to write code that people other than you can read and maintain it. In many cases you may be responsible for drawing out requirements from users. You need to communicate effectively with the rest of the team. None of these skills are exercised or put on display by your typical github repo.
So, personally, I can see why someone would be very hesitant to hire a self-taught programmer with no experience. If someone has a degree and a little job experience, you know they at least know enough to pass their courses and survive in a team environment. With the unknown guy, you need to do some very rigorous testing to make sure you're not getting a dud. A lot of companies might not have the resources to do that.