The circuit shown has the FET also in series with the lowest level shunt. This can cause quite some errors, as the R_on is no longer much smaller than the shunt. If using a very large low R_on FET this will have more leakage, effecting the small current range. The 10 mOhms shunts have 4 wire contacts for a good reason - so one should use them.
There is another problem with this circuit: when going for low burden voltage, there is not that much dynamic range left. So shunt in 10 K 10 Ohms, and 10 mOhms are spaced quite far apart. Even the AZ OPs have trouble much below 1 µV. So one would have some 2 digit resolution with 0.1 mV at the shunt - just before the next shunt is available one would have 100 mV than. The simple switching with just 1 FET is limited to low burden, because of the parasitic diodes - so already 100 mV may cause trouble from leakage at the large FETs in reverse direction.
Especially with low burden it would like more ranges, more like 10 K, 100, 1, 10 m.
The rasberry circuit is more like a good source for EMI, not so desirable for a precision circuit. Switching ranges would be more like something for an Arduino or similar class µC. It can help to have 5 V level for the switching to get low R_on and low leakage. So the FETs could see something like +3-4 V when on and -1 .. -2 V when off. Low level MOSFETs tend to be slightly higher leakage.
Attached is a rough sketch of a possible input. The FET types are not the ideal choice, just a crude selection of what I had in the libs. The 2 MOSFETs back to back can help, but it depends on the details and which part is more important.