Some quick remarks: You need to increase your resistor values.
HC595 can at max. source or sink 70mA per Chip.
Any more and you risk damaging it.
Also, your base resistor values on the NPNs seem very low at 34 Ohms. That would amount to almost 150mA base current - which the Arduino pins cannot provide. Again, there is a large risk here that the Arduino might be damaged.
Side question: Does your Arduino happen to get hot quickly when you run your code?
Go for 5mA per LED, that will still be very bright, even with 1:4 multiplexing.
Also, something like 1k for the base resistors should be enough except when your NPNs have a very low hFE. In that case you can use a smaller NPN to drive the larger ones.
However, if you're going for 5mA per LED as I suggested you would at most have to switch 240mA per Layer - which a simple and cheap BC337 can easily handle. And a BC337, in turn, will be fine with a 1k base resistor.