Is there any reason why they limit the length of passwords or don’t allow certain characters? It makes no sense to me.
Hard 8 character limits are often a side-effect of old COBOL "databases" in the backend somewhere.
Hard 16 character limits are sometimes a side-effect of old versions of Active Directory in the backend somewhere or new versions of Active Directory in certain backward compatibility operation modes/certain group policies.
Hard character limits in general are often a sign that someone is storing the plaintext somewhere they shouldn't be.
(Soft character limits today are mostly to avoid possible hash function DDoS.)
Nobody should be using LM or NTLM hashes anymore today, for all that that means... >sigh<