There is one reason why R3 and R4 might be useful in your situation. As pointed out in the comments on the top answer:
The base resistors R3 and R4 would limit the current drawn from the 74HC595 if the supply of power to the emitters Q1 and Q2 were to fail. They could also protect the 74HC595 in the event that the transistors themselves were to fail.
While you're learning, if you make a simple mistake in your circuit (e.g. it's quite easy to disconnect Q1 and Q2 your 5V power supply) then the current will flow through base from the shift register and potentially exceed the 35mA absolute maximum rating for continuous output current on the 74HC595.
Or, maybe you're powering your Arduino via USB connected to your computer (it's possible you powered the 74HC595 from the Arduino, but you don't specify in your schematic). If the 5V supply on your circuit from your bench power supply, when you turn off your bench supply, now the LEDs will draw power from base and not the collector (tied to 5V in your circuit). The 74HC595 is ok for powering LEDs (below 35mA), as it happens, but if you had something a bit more powerful such as a fan drawing 200mA, then you're exceeding the max rating for the 74HC595. So, depends what you're doing and how careful you are.
Also, I've noticed that even when the 74HC595 is powered by a separate power source than the Ardunio, if VCC is disconnected, the 74HC595 can still draw power from the input pins connected to your Arduino (possibly either SER, RCLK, SRCLK... I haven't tested which). This is probably harmless for low power LEDs, but as well as exceeding the maximum current rating for your 74HC595, you could potentially exceed the Arduino's pin current limit if you have something on your BJT that draws a lot of current.
So, in your final design, R3 and R4 are maybe not useful, but while you're learning and tinkering (e.g. on a breadboard), a base resistor on a BJT could help you to prevent frying your 74HC595. But, as Olin points out, R5 is absolutely necessary to limit the base current to a safe value.
If you were using FETs, a pulldown resistor would probably be needed on the gate, but not a resistor from the 74HC595 and gate since the gate only ever draws a very small current. By the way, I've actually found FETs to be a bit friendlier when learning about transistors (2N7000 or similar is a great component to have handy). BJTs are very useful to learn though, and ideal for your schematic.