Echo Category In Loop

The function get_theme_mod() returns information. Since you want to assign it and not echo it to the screen, we can remove the echo and PHP tags:

$args = array(
    'post_type'      => 'product',
    'stock'          => 1,
    'posts_per_page' => 4,
    'product_cat'    => get_theme_mod( 'vatname', 'Clothing' ),
    'orderby'        =>'date',
    'order'          => 'ASC'
);

That should fix your query. Now the query is going to return Posts ( products in this case ) so if we want the categories we need to use a function like wp_get_post_terms() which returns an array of post ( product ) categories.

<?php
    while ( $loop->have_posts() ) :
        $loop->the_post();
        global $product;
        $category_array = wp_get_post_terms( $post->ID, 'product_cat' );
?>

        <p><?php the_title(); ?></p>
        <?php print_r( $category_array ); ?>

<?php
    endwhile;
wp_reset_query();
?>