The problem seems to be the comparison. WordPress compares the post meta using SQL, so you have to use its syntax.
Try setting:
<?php $today = date("Y-m-d H:i:s"); ?>
Which will return something like 2017-12-1 12:12:12
In your post meta make sure to use the same syntax. You can set dates in various formats, this is the SQL default.
I would suggest using Advanced Custom Fields, or setring your own metaboxes to avoid typos and future headaches.
Here is a snippet of code from a project I worked with that dealt with exactly that. The date field was set in the admin using ACF;
$today= date('Ymd'); // ACF formatting
$args = array (
'cat' => '3',
'meta_query' => array(
array(
'key' => 'event_date',
'compare' => '>=',
'value' => $today,
)
),
);