ESP 32 can directly work with the LED. I have also used the same setup. I did not even required a resistor between DIN and Esp32 pin.
Yes, it can and often will but the specifications say it is not guaranteed at these logic levels so while yours presently works, it may fail with some components or with some supply voltage and/ or thermal conditions.
As Grumpy_Mike has explained, there are a couple of reasons the resistor is used, one is in case the strip is unpowered while the microcontroller is actively driving the input and the other is if there is a significant distance between the two and "ringing" occurs, generating voltages that exceed the supply rails.
The NeoPixel "shield" for the WeMOS D1 Mini for example generally works reliably as there is barely a few cm of trace between the ESP9266 and "pixel" and they share a common power source.
do note that I was using only 12 LED. If you plan to use more then your mileage may vary
The number of LEDs is rarely related to intermittent behaviour since the "pixels" are designed to regenerate clean waveforms from one to the next. While this may become a problem when the levels at the input are critically marginal and the pixels are not responding to every command, it is more likely that someone has forgotten to define num_LEDs.