Hola! Porque podés multiplexar tanto las entradas como las salidas!
Para las entradas podes usar, por ejemplo, encoders y para las salidas registros SIPO(Serial Input, Parallel Output).
De esa manera minimizas patas. No se con cuantos voltios funcionarán los pulsadores, pero podrías, por ejemplo usar CD4067 para las entradas e ir escaneando rápidamente las entradas, y para las salidas registros HC4094.
Saludos.