At some level of scale medicine and law are about human and social needs, but at that same level of scale, programming is about social and consumer needs. Yet by that chart you posted, the level of CS degrees awarded to women in the era of Twitter is half of what it was in the era of Lotus 123. And what about accounting? Big 4 accounting firms are close to parity. And I'm not sure how different the professions are at the lowest levels. Poring through a spreadsheet trying to tie-up a number that's off isn't much different than poring over a core dump. Yet half the people who do the former are women.
Your first point is a non-explanation. If the conjecture is that the preference for CS is based on inherent factors, that doesn't explain why the preference ratio would change over time. Did the nature of programming change in 1985 and 2003 to make it more attractive to men?
Disclaimer: the sources below are controversial. The below is not necessarily an endorsement of these conclusions, but an attempt to address them on their own terms.
Regarding your second point. At the ranges in question, the male-female disparity is not enough to explain the observed results. I'm going to rely on SAT Math data, because that's more rigorously studied than what you posted. The male-female disparity among people with perfect SAT Math scores is less than 2-1: http://www.aei.org/publication/2013-sat-test-results-show-th.... So that might explain why only 40%+ of math majors are women. It doesn't explain why less than 20% of CS majors are women, or why that ratio has fallen by half even as the field has become less mathematically rigorous.
Also, there is quite a lot of evidence that women outperform their SAT Math scores relative to men: http://esd.mit.edu/Headline/widnall_presentation.html ("He found that women outperform their predictions. That is, that women perform better as students than their math SAT scores would predict. The effective predictive gap is about 30 points.") It is interesting to note that men also outperform women at the upper range of MCAT and LSAT scores, by similar margins. Yet, differences in observed performance in medical and law school by gender are slim to non-existant, and those professions have an even number of men and women, at least at the degree and entry level.