#The return is too small for participants
There's a lot of great answers here already so I'm not going to write too much.
The way I personally view this (as a development manager) is that you are generating a lot of intellectual property for the company without much upside for the participants. Personal recognition is great, but it's not even close to being worth 24 hours of time that I could spend with my family and friends.
#How would I fix it?
Understandably all intellectual property is going to likely be owned by the companies so I would use this as a proving ground for ideas that could then be worked on further on company time.
If something is good enough to win, why not give that person the resources to develop the idea further on company time?
I'm also in strong agreement with other posters here - 24 hours is a ridiculous ask without fair compensation.