Problem is as the title.
I browsed the source code. It seems that methods can_post_password and is_password_set are not overrided by BaseOpenStackService, nor by BaseConfigDriveService, nor by ConfigDriveService. So they would always return False when set user password plugins trying to modify admin user password, preventing the plugin do further works.