Displaying custom field according to date

I’m not sure why you are comparing anything when you would normally just query a meta_key for a certain day, maybe I mis-understood the question.

The structure would be something like:

  meta_key => day // or $variable
  meta_value => Monday //for example

Then you just query posts for a particular day which has a meta field value that matches.

For example using pre_get_posts to alter your main query to only get posts where the value is equal to the actual day.

function wpse_78591_date( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {

        $today = date("l");

        $query->set('meta_key', 'day');
        $query->set('meta_value', $today );
    }
}
add_action( 'pre_get_posts', 'wpse_78591_date', 9999 );

or in your example it would be:

$args = array( 'post_type'  => 'nightclub' , 'posts_per_page'  => 10, 'key'  => 'day' , 'value'  => $today );

In my example I have hardcoded 'key' => 'day' but you can use a variable instead.