Almost all of which is explained by different working pattern and career choices, rather than discrimination. Given two, say, software developers aged 35. One is female and took a five year career break to raise children, the other is male and did not. Which do you expect to earn more? Then, when you look at computer programmers aged 30-40, of course the women have a lower average pay - because they've got less experience on average, despite being the same age!Fields in which women who perform the same tasks as men make significantly less pay!
There are other issues too, different priorities: for example, I expect female employees are more likely to take an option with slightly lower pay for greater flexibility or other benefits. My own mother recently switched to 90% employment in a condensed working week - 10% less salary and longer days on those four, in exchange for having every Friday free. 10% less pay - for more free time. The job also pays less money in the first place, in exchange for better vacation and flex-time (which, for example, lets you get an additional 18 days off through the year by working extra hours on other days if you wish) - and as it happens, that setup has attracted more female than male staff, while men tend to choose the higher salaries and harder hours of other employers in the same field.