Yes, I agree with Warpspeed. You can not have 20mv vds and get perfect mirroring. Because, the 3rd transistor is not in saturation. One of the things you can try is to cascode the current mirrors. But it will not solve the problem completely as the cascode transistor in the 3rd mirror will not be in saturation with just 20mV and nor will the main device be. You might see 20nA mirroring instead of 15nA, which is not what you want. Head rooms the transistors have are looking very low to go for cascoding.
For proper current mirroring to occur, the main device and the other devices Vds should be just about the same. If the first device has a Vds of 336mV, the mirroring devices should have Vds like at least 200mV to 500mV (enough to keep them in saturation, as in the case of 2nd transistor). In your case, it looks like the load connected to the 3rd transistor is very high resistance which is causing more voltage drop. What is the 3rd transistor actually connected to?
I meant to connect the drain of the 3rd transistor to a voltage source of value equal to the drain potential of the 1st transistor i.e 336mV to diagnose the problem. But the drain voltages you have mentioned clearly shows that the low Vds is the problem.