You can’t use the standard the_title();
template tag for the page name of the page that displays the blog listing (index.php); that tag will display the latest blog post title rather than the page title.
Instead, use this:
<?php
if(is_archive()) {
echo '<h1>Blog Posts';
if(is_category()) {
echo ': ';
echo single_cat_title();
} elseif(is_tag()) {
echo ': ';
echo single_tag_title();
} else {
echo ': ';
echo single_month_title(' ', true);
}
echo '</h1>';
} else {
echo '<h1>Blog</h1>';
}
?>