For accounts based on the main shared IP users can login with both domain.com or ftp.domain.com.
For accounts based on a reseller's shared IP, users can only login with ftp.domain.com, because it's the only subdomain that points (or should point) to the server's main IP. Proftpd will use the wrong password file if you login through another IP address.
So the first thing you might want to look into is the value of the ftp record in the domains' zones.
My resellers have no problems with this, all the accounts they create can login correctly and we are using proftpd. It was different with the accounts they had already created when we assigned them their own shared IP. When changing the IP of their existing accounts, WHM also changed the IP of the ftp record to point to the reseller's shared IP, instead of the server's main IP, so FTP stopped working for those accounts. We had to edit those domains' zones manually (and the proftpd.conf file as well as Stenny Chong says above). But for newly created accounts it works OK (as long as they use ftp.domain.com).