If we wanted to be absolutely certain that we were not going to over current the LEDs or the microcontroller I/O ports, we would use resistors to limit the current.
However, because the display is multiplexed, each display is only illuminated for part of the time, the average current is lower and we can run the circuit without current limiting resistors.
Some time ago there was a very heated discussion about display drivers like this here on ETO. If I remember correctly, it did not end well!
JimB