MySQL: with CREATE_USER_PRIV, GETTING "Access denied" when attempting to change another user's password
According to MySQL documentation, in order to change a password of a user, bmcrae must have UPDATE privilege for the mysql database.

To check the privileges of the user bmcrae, run the following command:

show grants for 'bmcrae'@'hostname';

OR

Show grants for bmcrae;


And check whether, the user bmcrae has UPDATE privilege on mysql database.

If the bmcrae doesn't have that privileges, grant update privilege to bmcrae user.

Login as a root user and run the following statement to grant update statement to bmcrae user.

grant update on mysql.* to 'bmcrae'@'hostname';


Warning: If you grant update privileges on mysql database, the bmcrae user can update all tables of mysql database.