Custom blog setting directs blog to index page

As @Michelle rightly pointed out, blog.php is not part of the template hierarchy. Here is what the codex have to say about Custom Blog Posts Index Page Template

To create a custom blog posts index template, include the following in the Theme:

home.php

Use only the home.php template file for the blog posts index. Do not use a Custom Page Template (such as template-blog.php) for two reasons:

  • When the static front page feature is configured properly, WordPress will not use a Custom Page Template to display the blog posts index, even if a Custom Page Template is assigned to the page designated as the “Posts page”. WordPress will only use either home.php or index.php.

  • When the Custom Page Template is assigned to a static page other than the one designated as the “Posts page,” the blog posts index loop pagination will not work properly.

From you question:

How do I know it’s the index page if it shows the blog posts?

If you need to find out which template is used for the current page being displayed, you can pate the following code in your functions.php. (code from this post)

add_action('wp_head', 'show_template');
function show_template() {
    global $template;
    print_r($template);
}