Why is SHA-512 limited to an input of $2^{128}$ bits? Both SHA-384 and SHA-512 are limited to an input size of less than $2^{128}$ bits. Considering SHA-512 has a higher output size, couldn't it include more input data?
The standard FIPS.180-4 defines a padding scheme that limits the upper input size.


  Then append the 128-bit block that is equal to the number $l$ expressed
  using a binary representation. 


Where the $l$ is the message length. Therefore, according to the standard, you can hash at most $2^{128}$-bit-sized input messages. 

This upper limit, actually, due to the Merkle-Damgård (MD) design of SHA-512. MD based hash functions are vulnerable to length extension attacks and appending the length simplifies the security proof.