How to set page title tag in custom template for non-Custom Post Type?

Template files are not the right place to add in functions like that. The template file isnt loaded until late in the hook/filter process. Your function should be in functions.php. This way it can be added in before your tempalte files load, and functions that are in use in them can be altered.

Often times wp_title() is used in the header.php so it possible you are using that, but form the code you show you are filtering functions you are not using. Except maybe in header.php, but its loaded and executed before this custom template file. You also do not show the use of the_title() so I can not tell how/when/where this would actually filter anything if the function was placed in the right location.