Another possibility is that both behaviors are correct responses to different incentives. Males generally have far lower social value than females, so for the male it might be STEM or bust. In contrast, the female has options like moving into a non-competitive profession and then get married to an engineer/lawyer/doctor/banker. So for the female, the marginal value of STEM over her next best choice might be a lot lower than the male.
Probably because men are more willing to marry down socioeconomically, although this is changing and may move further in the direction of equality in the future.
I think this is (in the long haul) a good thing, provided we can encourage high intellect couples to reproduce. It'll generate a high IQ upper caste who will be natural leaders for society.
This is all just my impression, of course, from a small sample size. Still, we've had very good results improving our male/female ratio just by have a short 1-minute chat with each student that gets above a B, praising their work and encouraging them to consider CS as a major.