Many CPT is conflicting of the custom date

If your posts store the date in a consistent format like YYYY-MM-DD HH:MM:SS, etc, you could compare with strings using regular expressions, like:

$current_date = new DateTime();
$datemonth = $current_date->format("m-d"); // MM-DD

$args = array(
  // …
  'meta_query' => array(
    array(
      'key'     => 'birthday',
      'compare' => 'REGEXP',
      // Regular expression explanation:
      // ^     - Start of string
      // \d    - Any digit (0-9)
      // {4}   - Four of the previous token
      // \d{4} - Four digits
      'value'   => "^\d{4}-$datemonth",

tech