Current Sensing with Differential Amplifier
Yes, your problem with the physical circuit is CMRR -- common mode rejection ratio.  The CMRR of the opamp itself is pretty good, but you have used very low tolerance (5%) resistors, and that has given your circuit a very poor common mode rejection.

To illustrate what is going on, open up your LTspice simulation and change one of the 10K resistors to 10.5k (i.e, 5% error).  You will see a ~500 mV change in the output.

The reason for this is that the gain of your positive and negative inputs are different.  What you want to measure is G*(V2-V1).  In reality you have (G2*V2-G1*V1).  When the gains are not matched (because your resistors are not matched), you have a term that doesn't precisely cancel that is proportional to the voltage at the input terminals, rather than only the voltage difference.  This is called the common mode.

It is common to use high precision resistors (0.01% or even better) when constructing differential amplifiers with high common mode rejection. Frequently people use instrumentation amplifier ICs that have laser-trimmed resistors on the chip.

What can you do to fix this with what you have?  The simplest is to move the current shunt resistor to the "low" side of the load (i.e., between RL and ground).  This will reduce the common mode signal, and thus the impact of the poor CMRR.

You should use the most precise resistors you can find.  1% are common and cheap, but if you don't have them available, you can just grab a handful of 5% resistors and an ohmmeter and find matching pairs.  Selecting parts like this isn't as good as actual precision resistors, since low spec parts usually have worse drift and temperature coefficient, but it still helps.