While it might be nice to thing that some are trying to get you to memorise a password, the reality is the explanation is much more likely to be incompetence. Stupid password rules = post it notes for most.
As many have already mentioned, there is no excuse for not allowing a reasonable upper length such as 128 bytes or whatever. A 20-character limit is something most likely down to an idiot web designer setting an input field length, you see the same in other places (e.g. names which is a bummer if you are Greek or it is a verbose company name, etc)