For those struggling to understand why sometimes the achievement does not increase, after some testing I came up with these findings:
Let’s start with a simple scenario where on your account you have a rogue and a warrior and both have 10 mounts. No unique or exclusive mounts present, both characters can use 10 mounts.
You can check on Statistics > Gear > Mounts owned that both characters have 10 mounts.
You can check on the mounts Achievement that you have 10 mounts.
Now let’s pretend you got a gladiator mount on your rogue, which currently is exclusive to the rogue.
At this precise moment, the rogue mounts owned will go to 11.
The warrior mounts owned stays 10.
A script will run for your Mount achievement progress and check, is the mounts owned of this character (the rogue) greater than the current progress? Yes, because 11 > 10, so update the achievement progress also to 11.
So current status is
Rogue mounts owned: 11
Warrior mounts owned: 10
Achievement progress: 11
Now let’s pretend you got a mount on your warrior, but not an exclusive one.
At this precise moment, the warrior mount goes to 11.
The rogue mounts goes to 12.
A script will run for your Mount achievement progress and check, is the mounts owned of this character (the warrior) greater than the current progress? No, because 11 is not > 11, so DO NOT update the achievement progress.
So current status is
Rogue mounts owned: 12
Warrior mounts owned: 11
Achievement progress: 11
THAT’s why sometimes you will get a mount but not see an increase on the achievement tracker!
Now let’s pretend you got a mount on your rogue, but not an exclusive one.
At this precise moment, the rogue mount goes to 13.
The warrior mounts goes to 12.
A script will run for your Mount achievement progress and check, is the mounts owned of this character (the rogue) greater than the current progress? Yes, because 13 is > 11, so DO update the achievement progress to 13.
THAT’s why you sometimes will get ONE mount but see an increase of 2 on the achievement tracker!
So if you want to “fix” your achievement progress, you just need to get a mount on any character where their mounts owned is bigger than the current achievement progress.
While Blizzard support article (https://eu.battle.net/support/en/article/4738) do say that you can log on other characters to trigger an update, I didn’t experience that working reliably.
Only by getting a mount on a given character where their mounts owned was bigger than the achievement progress that I saw the achievement being updated all the time.