How to power 24 7-segment displays with Arduino?
First, you shouldn't place the resistor on the ground side, but one at each output of the LS164. To get 20mA the value should be 150\$\Omega\$.   

Next, the LS164 is a bad choice. You want a latched shift register, where you can freely shift data without disturbing the outputs. The TPIC6C595 is compatible with the often (ab)used 74HC595, but the latter can't supply 20mA to all outputs at the same time. (The supply current for one 74HC595 should never be greater than 70mA!) The TPIC6C595 outputs are open drain to ground however, so you'll need common anode displays.
(You would also need common anode displays for a low-power Schottky shift register like the 74LS164. LS-TTL can hardly deliver any current, and even can't sink enough to drive the LEDs!)

Dimmer LEDs when there are more connected often points to a too short duty cycle when multiplexing, but I think this is supposed to be static. Check the power supply to see if it can deliver the required current. Count on 20mA per LED, that's a total of 3.4A! That's a lot, and may be the cause of your problem. Note that multiplexing will add complexity, but will do nothing to save power; you'll need exactly the same.