ALL LEDs need some form of current limiting.
Some strings may have this built in already, then it's not needed. If OP is using bare LEDs (they did not specify their string!) they definitely have to add those resistors.
Won't be very bright... or when your battery is halfway empty they stop working... unless of course it's traditional LEDs in colours like red, yellow and green, in which case the forward voltage is much lower and indeed they will do fine on 2xAA. As long as there's some form of current limiting in place as otherwise they will burn. I know in some cases, especially cheap Chinese made strips, they don't put a resistor in - they skimped enough on the wire thickness to have enough resistance there... Poor engineering but for cheap consumer products that have to last a few weeks (one Christmas season) it'll do just fine.
0.5 mA is plenty for modern LEDs to shine quite brightly, so that's 20*0.5 mA = 10 mA for the set. That's a little less than what my decorative LED strings get, 100 LEDs running at ~70 mA. So it's very plausible.
Okay, that's the kind of information that is useful in a discussion. We don't know what sort of current OP's LEDs consume, whether or not there is a built-in current limit resistor or what color(s) they are. If OP's string really does draw only 10 mA then they can probably power them from a GPIO.