1. The drinks are on the house tonight, so enjoy yourself.

2. The drinks are for free tonight, so enjoy yourself.

3. The drinks are free tonight, so enjoy yourself.
==========================
Are they all the same in meaning? What does 'on the house' mean? Who will pay for the drinks according to the sentence?

Yes, they are all correct. In 2, though, we don't usually use the word "for."

The drinks are on the house means that the owner or bar tender will pay for the drinks.

Yes, all three sentences have the same meaning.

The phrase "on the house" is an idiomatic expression that means something is provided or given free of charge, often as a courtesy or a gesture of goodwill. In this context, it means that the drinks will be complimentary or free of charge.

In all three sentences, the establishment or host will be paying for the drinks. They are offering the drinks for free or at no cost to the customers. So, the customers can enjoy themselves without having to pay for the drinks.