To make sure that the query finds the category only for that month the $args must include a dynamic date_query like this:
$m = get_the_time('m');
$y = get_the_time('Y');
$args = array(
'post_type' => array('post'),
'post_status' => 'publish',
'tax_query' => $cat_query,
'orderby' => 'date',
'order' => 'desc',
'date_query' => array(
array(
'year' => $y,
'month' => $m,
),
),
);