OK, first you need to cite what these buttons are. Are they in fact, a momentary button with a separately connected LED and does that LED have a current limit resistor incorporated for a specific voltage?
To drive a matrix of up to 64 basic LEDs, you use a MAX7219. The code will take care of the correspondence between LEDs and buttons, however you wire it.
Just buy two or three of these kits:

Or these ones

which used to be more expensive but are now actually cheaper and more useful if you wish to stack matrix arrays.
The point is that you do not install the matrix arrays from the kits themselves - or their socket pins, but just solder to the positions on the PCB and you have a durable and reliable assembly to drive your own matrix arrays.
Why did I say two or three? Well, you can fully assemble the first one as the matrix with which it comes and practice programming it. Then the second one for your current project and the third one - for the next! 
OK, LEDs should not be a problem.
Buttons? They are momentary then? OK, decide whether there is a possibility of more than two being pressed at once. If so, you need a diode in series with every button in the matrix.
You have HC595s? OK, one of those will drive eight outputs to scan the matrix (you will need diodes either one per output or one for every button, in case of multiple presses shorting two outputs). Seven Arduino inputs will read the matrix, using INPUT_PULLUP as the HC595s pull down to scan.
stregoi:
I have in total 52 Push button LED ( 5V ) , that would make it 104 inputs. I am not sure what is the best way to control all these LED/Buttons together.
Slight error in description there - 52 inputs and 52 outputs. But why actually 52? Upper and lower case?
In what arrangement? Interesting point - if they were in a neat matrix, using a MAX7219, you could use them to scroll text across for your results using the "Parola" library.
Debouncing code is easy, if you get the other matters sorted.