Because of how date fields are stored, as UNIX timestamps which refer to a point in time, unless you write custom SQL queries it is not possible to filter the list of users in this way.
What is required is to manipulate the results after the database query has been run.
Ordinarily I would direct you to use conditional display, i.e. you View would return all users, and then in the output section you would only output those for which the birthdate (output to just show the month) matched today's date (output to just show the month).
This works fine, but is not so efficient on larger sites with many users. If you are creating a membership site, I guess you would want many users, so the alternative is to do something similar, but to use the wpv-filter_user_post_query hook to manipulate the list of users returned by the View before it outputs them.
I created some sample code that you can try (add a custom snippet at Toolset > Settings > Custom Code), where you will need to edit the View ID and the field name used for the birthday:
function tssupp_filter_birthdate($items, $query_args, $view_settings, $view_id) {
if (in_array($view_id, array(208)) && !empty($items)) { // Edit View ID
foreach ($items as $key => $item) {
$birthdate = get_user_meta($item->ID, 'wpcf-birthdate', true); // Edit user meta key
if ($birthdate != '') {
$birthmonth = date('n', (int) $birthdate);
$currentmonth = date('n');
if ($birthmonth != $currentmonth) {
$items[$key] = null;
}
} else {
$items[$key] = null;
}
}
$items = array_filter($items);
}
return $items;
}
add_filter('wpv_filter_user_post_query', 'tssupp_filter_birthdate', 101, 4);