Shortcode for Listing Users from Meta Value?

It’s a small coding mistake..

It’s not displaying anything because when there are results, the end output is always a </ul> because you’re always overwriting the $results and not appending output to the variable:

$results="<ul>";
foreach ($users as $user){
    $results="<li>" . $user->display_name . '</li>';
}
$results="</ul>";

So the proper code is:

$results="<ul>";
foreach ($users as $user){
    $results .= '<li>' . $user->display_name . '</li>';
}
$results .= '</ul>';

And there’s no need to call wp_reset_postdata() because in your code, there’s no call to any functions which modifies the global $post object/data.