you stated
multiplexed 7-segment display 4-digit + colon -digit
Display looks like 8-segment display 5-digit
6 or 5 buttons
three lights, green, yellow, red
multiplexed led display come in two versions
(CC or Common Cathode) where all the segments for a digit are Cathode connected to digit line. Digit line active low.
(CA or Common Anode) where all the segments for a digit are Anode connected to digit line. Digit line active high.
Segment output
8 output mpu pins to optional current buffer to segment current limit resister to segment pin on display.
Digit output
Digit current = 8x segment current.
Most logic can not sink or source required current for digits. Only one digit active at a time.
5 output mpu pins needed to high current buffer to digit pin on display.
Switches
1 input mpu pin with resistor pull-up | pull-down to level opposite active digit level.
This pin is also connected in common to 5 switches. Each switch connected in series to a diode and then to mpu digit output pin. When switch is pressed, the active digit conducts through the diode, switch and puts active digit level to mpu pin in place of the pull resistor level. The diode allows push-pull driver to be used for active digit to switch matrix and prevents problems when two switches are pressed at the same time.
three lights, green, yellow, red: Here in place of three mpu pins, you could treat these as an additional digit for a savings of two pins. The extra digit also allows a 6'th switch.
This far for MPU pins you have
8 outputs for segments
5 outputs for digits or 6 if you treat the green, yellow, red lights as segments of a digit.
1 input for 5 switches or 6 if lights are as above
Using one more input pin would gain digit count switches.
Software for this would be
read switch state for currently active digit.
turn off currently active digit to prevent ghosts
update segment output to new digits data
make new digit line active.
Going to extreme with added chips and more software you could get down to 4 pins.
C