add product thumbnail to checkout page only and include variation name

You can use the conditional checks to simply build a new return value for the filter. So run the filter once and put all your code in there.

Your second example doesn’t really make sense because no matter what, you’re returning $name, can you explain that more?

add_filter( 'woocommerce_cart_item_name', 'cart_variation_description', 20, 3);
function wpse306625_cart_variation_description( $name, $cart_item, $cart_item_key ) {

    $output="";

    if ( is_checkout() ) {
        $item_data = $cart_item_key['data'];
        $post = get_post($item_data->id);
        $thumb = get_the_post_thumbnail($item_data->id, array( 32, 50));
        $output="<div id="jwf_checkout_thumbnail" style="float: left; padding-right: 8px">" . $thumb . '</div>' ;
    }
    else {
        $output .= $name;
    }

    return $output;
}