No, LED isn’t ‘defying Ohm’s Law.’
As you may know, the LED current vs. forward voltage is highly non-linear: small changes in voltage near the 'knee' point have a large impact on current.
The Vf quoted in the data sheet is the forward drop at rated current (e.g. 20mA). What you measured with the ‘component checker’ (I assume the diode setting on your meter) isn’t going to give you the same forward voltage (Vf) as the data sheet, because the meter is sensing at a much lower current, and thus, gives a lower indicated Vf.
However, the LED will still give off light at much lower currents and somewhat lower voltages (plus, your eye is more sensitive at lower intensities.) That's why you still see a dim LED with 155 ohm load resistor. You might even be able to see it with the tester, too.
This nonlinear LED V-I characteristic I mentioned wouldn't be so much of a problem if it were tightly controlled. It isn't. Instead, LED V-I characteristics vary due to both manufacturing tolerance and operating conditions.
These variances pose a challenge when using a barely-enough voltage for the LED together with a low-value dropping resistor: with such a small voltage drop, it's very hard to 'tune' the resistor to hit the exact LED current.
The 'barely-enough voltage' is certainly the case for two "AA" alkalines (nominal 1.5V), which together add up to about 3.4V (2 x 1.7V) when fresh, then degrade down to about 2V (2 x 1.0V) when depleted. Meanwhile, the forward voltage (Vf) manufacturing spread for a white LED might be +/-10% for a 3.1V Vf LED. So Vf could be as high as 3.41V or as low as 2.79V.
Taken together then, 2 AA's working working voltage range vs. LED forward Vf is very narrow for a reasonable brightness.
The solution? Many 'fairy lights' that you might buy off Alibaba or at the craft store use just two AAs, and use a low value series resistor (10 ohms or so). These let the battery internal resistance roughly regulate current. This works surprisingly well with very long runtimes. That's kind of what you've hit upon.
Another solution is to use three AAs and a higher value resistor. This will be less sensitive to Vf variation and battery voltage than the two-cell approach.
A more involved solution would be to use a boost constant-current LED driver. This would have the benefit of longer run time, since these work as 'joule thieves' as the batteries go ever lower. In fact, you could probably find this pre-made as a fairy light battery pack, and reuse the module for your Santa.