wp_enqueue_style and different styles for blog template

When using hooks such as wp_enqueue_scripts you have access to Conditional Tags. This allows you to only enqueue certain things on certain pages, templates, taxonomies, etc.

By default, WordPress accepts two template files as the natural blog:

  1. index.php
  2. home.php

You can read more about this in the Template Hierarchy post, while it does say “Home” this will only take the place of the homepage if front-page.php does not exist in your theme. What you have is a Page Template as your “Blog” and not the standard you need to use is_page():

/**
 * Enqueue Styles and Scripts
 */
function theme_name_scripts() {
    if( is_page( 'blog' ) ) {   // Only add this style onto the Blog page.
        wp_enqueue_style( 'style-name', get_stylesheet_uri() );
    }
}
add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );