After taking another look at your last schematic I noticed that you moved
the data inputs to the outputs of the buffer. That is wrong, they should
stay where they were in the first schematic. If you take a close look at
the internal household of the shiftregister, you will find that all outputs
are buffered. No matter how much you load the outputs, it will not affect
the working of the shiftregister. But when data is passed from one shift-register to another, the last output must have clearly defined logic levels
that have to be recognizable by the next shiftregister! The buffers don't
load the Qh outputs as much as the leds would do, the logic level will not
be affected by the buffers. The logic level at the output of the buffers
will be affected by the load of the leds, but that's no problem since there
is nothing connected to it.
About the use of another logic family for the 74LS245, you could use a
74HC245. But you could also use a 74LS- or 74HC244 or 74LS- or 74HC541
or similar.
If you decide to build the entire circuit with 74HCXXX chips, the extra
buffers might not be needed. You can even choose if you want them to
source or sink because they have symmetrical outputs.
The best thing is to use the same logic family.
on1aag.