With such a large number of LED's/players, I'm still inclined to say use smaller processors for each set of LED's and use I2C to communicate to the expanders. e.g.
https://cdn-shop.adafruit.com/datasheets/mcp23017.pdf
hardware condition the switches and present the inputs to all of the processor simultaneously with an enable that's provided by a supervisory processor.
You might decide that an interrupt be generated when "somebody won" and then the supervisory processor would determine who,
There's some other stuff going one here, that we don't know like (guessing):
1) Selecting # of players
2)# of lanes per player
3) Advancing to the "next" player
Is a service manual for the game available?
There is a lot of stuff going on and a lot of lights to control, but the logic for 24 light seems simple.
Exactly what you need to do for each row, I don;t know:
e.g. Play (Input), Sensors(A,B,C), Enable (Sensor), Win(Output), Start(Input), Win(output)
At this level, you see the inputs and an enable. The enables controlled by the master processor.
Each processor SEES the sensor, but doesn;t respond unless enabled.
Play - in esscense turns on whatever lights for the player.
Start - Effectively resets the internal counter for that processor
WIN - would be an wire ored output that the master processor would respond to. That would immediately disable everyone.
The master would poll each processor to determine who won if needed.
Just guessing.