The board is 3.7" x 3.7".
Its set up to drve 12 digits, or however you'd like to use the high voltage/high current outputs.
There are 14 other IO pins including 2 serial pins. 2 of those are also set up to drive disrete transistors if you had some other devices needing high current/high voltage driving. (small speaker, buzzer?)
Ardiuino equivalent circuit less the USB/Serial interface is included on the board. Install bootloader and/or program the uC via ICSP header, or connect a USB/Serial adapter (FTDI Basic, CP2102 module, etc) and download sketches.
"How many of those 12 shift registers would I need for this application? " Depends on how many digits you want to drive.
Mount the board up with the digits, run just a few wires from whatever switches you have up to the board.
And power.
"Is there anything like this that is smaller? "
Define smaller - surface mount? fewer componemts?
You can also connect up a MAX7219 to drive digits. Perhaps there is a shield that breaks out MAX7219 pins to 7-segment digits.