Accuracy in translating voltages to currents for shunt resistors
Perhaps check the temperature coefficient of the resistor. With 20mA, the power dissipation in the resistor is 25x larger than with 4mA (power dissipation is proportional to I2). The resistor heats up as you increase your current. As it heats up, its resistance changes. Incorporating the temperature coefficient would improve your accuracy. Another option is to use a much smaller resistor so that the temperature change over the current range is small.