Strange. Outside the loop, the_title() should give you the current page name, if you really are on a page, and not viewing a specific post. If it gives post title instead, it may mean that you are somehow inside a loop. But if that were true, wp_title shouldn’t show “Blog”.
See if other options give the same result:
//the_title();
single_post_title();
echo $post->post_name; // I think this shows the url page name
Also check for is_page().
You might try the is_page(‘Blog’) test.
if (is_page('blog')) {
echo 'Blog';
}
else {
the_title();
}
just to see what happens.