Why is the current through the PMOS different to the NMOS?
If all the components are identical, or 'symmetrical', this is because for the PMOS the load is connected on the source.

The drain current of a MOS transistor is a function of its gate to source voltage, while drain voltage has little effect to it.

In the case of the NMOS you are driving the transistor with 3.3V to turn it on, since the source is always grounded.

The PMOS instead has its load on the source, so when you pull its gate to ground the source to gate voltage is not 3.3V, but it is something less. Since you have a diode up there you are probably missing at least 0.5V, which can explain the difference in currents that you see.

To fix this, try to swap the series for the PMOS driver. From Vdd to ground:


PMOS
diode
resistor


With this new arrangement you will be driving the PMOS with the full 3.3V available, and you will probably see a perfect match in the currents if the mosfets are identical.

disclaimer: P transistors usually conduct less than their N counterparts because holes have a reduced (about 1/3) mobility wrt electrons. Try my "fix" but keep also in mind this fact.