WP_Query – show posts where meta value and user_email match

Both examples of your code throw errors on the while line:

<?php while ( $users_query->have_posts(): $users_query->the_post() ) ?>

The while will work if you move the parenthesis from the end to before the colon, and replace the parenthesis with a semicolon.

<?php while ( $users_query->have_posts() ) : $users_query->the_post() ; ?>

(The Errors turn up fast on WP PHP Console: Don’t stay home without it… I’ve gotten into the habit of testing this stuff out using it with Shortcode Exec PHP.)