If DCmV works fine, then the A/D etc. is OK and the only hardware difference between measuring voltage and current is the two switches and different CAL factor in EEPROM (span, not offset).
Could it be unintentional thermal EMF (thermocouple junction) from dissimilar metals in the current-shunt circuit? That could be up to a couple mV generated by say the R33 10A shunt.
The multimeter is a crappy PCB design, they have solder, copper-constantan, solder, gold, quite a soup and improper Kelvin connections, so the current measurement is never stellar.
You could try with a good multimeter, measure DCmV at the (bad) multimeter's current-shunt points, COM jack and R24. It should ideally be 0mV.
Probably I have not the right instrument to do these precise tests, but i tried, and while I couldn't notice any voltage between the ground terminal and the mA/A terminal, heating the bridge with the soldering iron, caused to create a potential difference, that grew over 100uV. The display shows over +2mA while is cooling down.
Also heating the chip and the area around it cause to show some milliAmps in the display.
This can be a possible problem but without temperature difference, the voltage seems to be null.
Probably it is a dc voltage like this that cause the problem, because in AC it doesn't happen.
I attached the two photos.
Thank you for finding a schematic @Floobydust.
It is possible that the DTM0660 chip is defective and leaking a tiny current out (or in) through pin PB1 and/or PB2. That tiny current would cause a small voltage drop across R9, which would cause a small offset to be displayed by the meter no matter which current range you set the selector switch to.
Such leakage current through R9 would also add to the reading of any real current being measured, which is consistent with what you tested earlier.
To check this, you could try unsoldering R9 and replace with a 10K resistor, and see if the displayed offset changes to something 10 times smaller... (You would lose some ESD protection if you did this permanently, but it might make the meter usable).
That probably is a generic schematic, in the meter PCB, R9 is the current limiter resistor that drives a transistor that drives a buzzer (the multimeter becomes silent), due to my bad I destroyed this area and rebuilt (in some other way) with another resistor and a bridge.

The resistor that we are looking for is R6, also here did some tests. Put a 10kΩ resistor in parallel with it did not change anything. (third photo)
How I know that it is R6? Removing it, break completely the uA, mA/A functions (ADC is floating, and the current shown in the display has grown to a couple of Amps), and this interesting, because it leaves completely working the V functions. Two ADCs? Or more simply the rotatory switch, switches it between the resistor and the IC, and consequently R6 is not used in V measurements?
I also tried to measure the voltage across R6 but it is null. To measure leakage current I connected the blue meter in uA between R6 (IC side) and COM terminal did not measure anything again.
Could it be a real not compensated opamp offset?
FWIW, the ANENG AN8009 that I purchased recently does the same thing. However, mine seems to mostly show -2 in the LSD, switching frequently to -1 and occasionally up to -3
This is for auto-ranging or a manual range with a display of -000.2 mA or -00.02 µA. Selecting the alternative manual range shows 0.000 A or 000.0 µA.
The above is for DC mode. All current ranges in AC mode show 0000 (with the appropriate decimal point).
Yes, practically my meters do it in the same way.
Thanks all for the replies again.
