How to stop subdirectory wordpress install adding head elemets to entire site?

This is because you call get_header() which already require your theme header.php, in which the meta tags are defined.

You should learn how to use get_header() in the WordPress Codex

To summarize:

  • You must rename your wp-blog-header.php file to header-blog.php and place it in your wordpress theme directory.

  • Then you can require it using this function : get_header('blog').

If your header is the same on everypage, you can just replace the header.php and call it with get_header().