You are correct that SHA-512 returns a 64 byte value. However, in your database, you're storing a hexadecimal string representation of that 64 byte value, which requires twice as many bytes.
For example, consider the case when you have a single byte with a value of 255. As an unsigned integer, 255 can be stored in one byte, but the hexadecimal string representation (FF), requires 2 bytes.