get_posts of Custom Post Type AND Custom Taxonomy

You use multiple taxonomies at once, so use'relation' => 'AND':

<?php

$args = array(
    'posts_per_page'    => -1,
    'post_type'         => 'products',
    'post_status'       => 'publish',
    'tax_query'         => array(
        'relation' => 'AND', // this is what was missing
        array(
            'taxonomy'  => 'subjects',
            'field'     => 'name',
            'terms'     => $shortcode_atts['subject'],
        ),
        array(
            'taxonomy'  => 'plans',
            'field'     => 'name',
            'terms'     => $shortcode_atts['plan'],
        ),
    ),
);