WP_query for posts with same post type AND same post category

You are using default category for custom post type. You can instead use a taxonomy query to get filtered result based upon your custom taxonomy terms.

Try this –

$cat_ids = array();

$postID = get_the_ID();

$categories = get_the_terms($postID, 'custom_taxonomy_name'); //this will give all the terms

foreach($categories as $cat) {
    $cat_ids[] = $cat->term_id; //you may put some condition and consider only some specific terms as per your requirement
}

$args = array(
                    'post_type' => 'article', 
                    'posts_per_page' => 3,
                    'tax_query' => array(array( 
                    'taxonomy' => 'custom_taxonomy_name',
                    'field' => 'id',
                    'terms' => $cat_ids //ids of specified terms
                    )
                  )
               );