Custom page template, not acting as page

Thought so…

You are using query_posts() and this nukes native page’s loop and replaces all relevant data with your query. Since your query isn’t for page – your page is no longer treated as such.

Always use get_posts() or new WP_Query object for secondary loops.

See When should you use WP_Query vs query_posts() vs get_posts()?