For using crosstab in table pivoting it is recommended that all categories have at least one value, for garanting this we use $$VALUES ()$$ defining the category descripcion

SELECT *
FROM crosstab(
 'select mil_cagr
     , case when extract(year from age(mil_f_nac)) < 26 THEN 1
            WHEN extract(year from age(mil_f_nac)) > 25 AND extract(year from age(mil_f_nac)) < 46 THEN 2
            WHEN extract(year from age(mil_f_nac)) > 45 AND extract(year from age(mil_f_nac)) < 66 THEN 3
            ELSE 4
       END
     , count(mil_cmilitantes)
FROM ins.t_militantes
GROUP BY 1, 2
ORDER BY 1, 2',$$VALUES (1::text),(2::text),(3::text),(4::text) $$)
AS ct(cagr text, t1 text, t2 text, t3 text, t4 text)