Why does AES-GCM not require an auth key, but encrypt-then-mac does? The inputs to AES GCM mode appear to be:


an IV
a key
message to encrypt


The output is a cipher and auth tag.

However, if one were to manually perform an encrypt-then-mac scheme, the inputs required would be:


an IV
a key
an auth_hash (for decryption)
an auth_key
message


Then, you would compare auth_hash == HMAC(message, auth_key) before decrypting(message, key, IV). 

So with the manual approach, there are 2 more inputs. Why is GCM able to do the same thing with less inputs?
AES-GCM does require an authentication key. You don't need to pass it because it is generated from the encryption key by encrypting an all-zero "plaintext" block:


  The hash subkey, denoted $H$, is generated by applying the block cipher to the “zero” block. The
  resulting instance of this hash function, denoted $GHASH_H$, is used to compress an encoding of
  the AAD and the ciphertext into a single block, which is then encrypted to produce the
  authentication tag.


(source - in "5.3 Primitives for Confidentiality and Authentication")