"While this explains some of the volunteer work, it doesn't explain why companies today employ people who contribute to open source projects on company time."
Maybe it is because the company sees the open source project as a strategic component to its product or service offerings and its in their best interest that the project succeeds and they can influence its direction?
"Il-Horn Hann and colleagues found that the salaries of Apache Software Foundation project contributors correlated positively with the contributor's rank in the Apache organization . They therefore concluded that employers use a developer's rank within the foundation as a measure of productive capabilities."
For me, that is not right conclusion, or at least not the only one. It is often the case that people contributing to open source on company time only started contributing because they were told to by their employers. A developer salary at his company and their rank within the open source project are both determined by his technical skills and teamwork abilities.
Anyone can make an omelet with eggs. The trick is to make one with none.