Better social cohesion makes the company perform better. Companies don’t allocate money for no reason (sadly) and it’s shown that monetary incentives only increase individual motivation so much.
Maybe there is proof to your first comment. I would remain more committed to a job that randomly gave me $100 once a year than a company that sponsored happy hours or (in the case of my last employer) had cookies and milk delivered. The biggest driver of loyalty is job satisfaction and overall compensation is the biggest driver of that after enjoyment of the job.
Then these events should be on company time and company dime, since they are clearly profitable, and designed mostly to get more output through morale and communication.