add_action works outside condition but not inside it

is_single() is not determined until the wp hook, which runs after plugins and themes are loaded. So if you use it outside a hook, then it will always be false. If you need to define a bunch of hooks based on that condition, do it inside a callback for wp:

add_action(
    'wp',
    function() {
        if ( is_single() ) {
            add_action( 'meanz_before_main_wrap', 'meanz_entry_header_structure_open', 5 );
            add_action( 'meanz_before_main_wrap', function(){echo "<div class="title_cat">";}, 6 );
            add_action( 'meanz_before_main_wrap', function(){echo meanz_post_cats();}, 7 );
            add_action( 'meanz_before_main_wrap', 'meanz_do_title', 25 );
            add_action( 'meanz_before_main_wrap', function(){echo "</div>";}, 49 );
            add_action( 'meanz_before_main_wrap', 'meanz_do_thumbnail', 50 );
            add_action( 'meanz_before_main_wrap', 'meanz_entry_header_structure_close', 100 );
        }
    }
);