Custom page template not working

I think you’re muddling up the Template Hierarchy, so make sure to start by reading that.

page-blog-page.php is for a page with the slug “blog-page.” If you’re using a page template, then you should name it something outside of the template hierarchy-reserved name spaces (e.g. page-{slug}, etc.) such as template-swapnesh.php.

Also, WordPress has the blog page specifically built into the template hierarchy: home.php. You should be using that instead of page-blog-page.php. As you’ll see in the template hierarchy graphic, the “Posts Page” never looks for a custom page template, it goes straight to home.php and falls back to index.php.