You can't use reading and previous to refer to the current and previous reading for all the switches, and think that the Arduino is going to somehow magically infer that you expect it to remember the previous reading for several switches.
That code that tries to combine edge detection, current state, and debounce all in one if statement is horrid. You are trying to do three different things. You should be using three if statements.
You should put all the { on new lines, and use Tools + Auto Format to make that code at least somewhat readable.
A little white space is good. Many blank lines looks silly.