Button box wiring sanity check
Edited to suggest driving the outputs low.
To use a multiplexed grid of switches like that you'll need to write code that sets all the columns to open, sets all the input rows to INPUT_PULLUP, drives one column at a time low and scans the rows for low output to figure out which buttons are pressed. (You could reverse the rows and columns, or add external pull down resistors and pull the rows/columns high rather than grounding them, but you get the idea. You'll need to write code to scan the grid of buttons in nested for loops.)