driving 8x8 LED using 2 74HC595

I won't comment further in the matrix, have only worked with shift registers.

You can save some digital pins chaining the serial on the 595's together. You would unlatch them so there is no output, serial out the data to them then latch them. Using that you can daisy chain them to run more 8x8 displays and you'd not run out of digital pins on the Arduino. Once you've written a function the code is easy to read and maintain.

So far I've strung together 32 of 595 chips. I switched to HEF4794 due to it's higher current.