I just had a quick look.
According to Rematch, there are 1735 species available in the game.
According to WarcraftPets, 1763.
According to Xu-Fu, the number is 1793.
I’m sure the difference in these figures is between battle and non-battle, available in EU/US and not, faction-only, not available yet, and other such technicalities that I can’t be bothered chasing down at the moment. I disappeared down that rabbit hole some years ago and swore never again.
So if you have 1673, you are way ahead of the pack!
Can you have three of each? Yes - except where you can’l.
Some pets, like achievement pets such as Violet Violence, Shop and Blizzcon pets like Murkalot, are Unique - you can have only one of them.
Warcraft Pets filter says there are 85 achievement pets, so I’d estimate there are about 120 pets that you can’t have duplicates of.
Not exact; just an estimate … call it 1700 species, gives 120 uniques + 3*1580 regular = something like 4740 total pets possible in your roster. Round that up a bit for what I’ve missed, and it could be up to 4800.
Can you actually have that many? Yes. Blizzard removed the cap on total pets after BfA, so you could indeed do it.
Good luck getting three of the rarer pets, tho: TCG pets, Spineclaw Crab, Rotbreath, Flawless Amethyst Baubleworm and so on.