Postgres truncates function names even though they are less than 63 characters

"4.1.1. Identifiers and Key Words":

The system uses no more than NAMEDATALEN-1 bytes of an identifier; longer names can be written in commands, but they will be truncated. By default, NAMEDATALEN is 64 so the maximum identifier length is 63 bytes. If this limit is problematic, it can be raised by changing the NAMEDATALEN constant in src/include/pg_config_manual.h.

Note that it says 63 bytes, not characters. If you use UTF-8, your untruncated string is 64 bytes long, which is too long. The truncated string is 62 bytes long and fits.