Unstable DC dummy load
Probably your circuit is oscillating. Since you don't have an oscilloscope, you can try measuring the op-amp output on the AC range of a multimeter. Also check the supply rail and verify that reads close to zero (most multimeters will read zero for a DC input on an AC range).
If so, the solution is to decouple the heavy capacitive load of the MOSFET gate/1 ohm resistor using a series resistor and separate the AC feedback path from the DC.
Typically something like this will work:



simulate this circuit &ndash; Schematic created using CircuitLab
Also keep in mind that your current sink only has so much compliance. At 2A, for example, there is 2V nominally across the sense resistor, which means the MOSFET has that much less to work with, and worse the 2V has reduced Vgs by 2V, and as you know the LM358 cannot output the full supply voltage so there may not be enough voltage to turn on the IRF540 sufficiently if the load voltage is too low.
If your current is not constant, but rather drops steadily with decreasing load voltage, this would be a likely cause.