I didn't realize there was no shift capability. I take it for granted these days.
No idea if the firmware OP was talking about can do shifted functions, but it's not likely.
KADE miniArcade 2.0 can do shifted functions, but it can't do two gamepads per AVR board.
If OP was OK using it as a keyboard encoder, he could fit all of the controls on a single Leonardo if 5 of the 6 dedicated admin buttons used shifted functions and blocking diodes.
I take it the kade firmware will allow all buttons to be pressed simultaneously without issues?
You're planning on using a gamepad setup so the
keyboard-related "boot protocol" six button limit is irrelevant.
You won't run into that problem as long as you're using an encoder made this century that's not a hack, not a matrix, and not made by X-Arcade prior to Feb 2014.
2. The keyboard encoder options commonly mentioned on BYOAC (I-Pac, KeyWiz, KADE, Feb 2014 or newer X-Arcade, etc.) use dedicated inputs and do not use "boot protocol". 
If i go with the 2 arduino controllers then i can add 2 extra buttons one on left and one on right side of cabinet for pinball games?
Yes, you'll have
lots of spare inputs.
- Depending on the tables you want to play, you may also want Ball Launch, R/L/U Nudge, and (if you
really want to go overboard) R/L Upper Flipper/MagnaSave. AFAIK the diagram below covers all possible pinball table buttons.
- Instead of standard microswitch buttons for the flippers/nudge, you might want GGG Class-X with True-Leaf Pro or Ultimarc Goldleaf buttons.

If you're using 2-terminal buttons (Goldleaf, leaf switches, etc.) you can use diodes like this to isolate the MAME switches from each other while allowing Upper Flipper/MagnaSave to apply ground to both inputs.

Scott