There are 890 Pokemon
(Below lists how many alternate forms that a Pokemon has, not how many forms total that they have.)
Pikachu has 13, Pichu has 1, Unown has 27, Castform has 3, Deoxys has 3, Burmy has 2, Wormadam has 2, Cherrim has 1, Shellos has 1, Gastrodon has 1, Rotom has 5, Giratina has 1, Shaymin has 1, Arceus has 17, Basculin has 1, Darmanitan has 1, Deerling has 3, Sawsbuck has 3, Tornadus has 1, Thundrus has 1, Landorus has 1, Kyruem has 2, Keldeo has 1, Meloetta has 1, Genesect has 4, Vivillion has 19, Flabébé has 4, Floette has 5, Florges has 4, Furfrou has 9, Aeigslash has 1, Pumpkaboo has 3, Gourgeist has 3, Xerneas has 1, Hoopa has 1, Spinda has 4,294,967,294 (Thanks Astro!), Greninja has 1, Zygarde has 2, Silvally has 17, Oricorio has 3, Lycanroc has 2, Wishiwashi has 1, Minior has 7, Solgaleo has 1, Lunala has 1, Mimikyu has 1, Magearna has 1, Necrozma has 3, Cramorant has 2, Toxtricity has 1, Sinistea has 1, Polteageist has 1, Alcremie has 62, Eisuce has 1, Morpeko has 1, Zacian has 1, Zamazenta has 1, Eternatus has 1, and Urshifu has 1.
Total form differences: 4,294,967,554
Rattata has 1, Raticate has 1, Raichu has 1, Sandshrew has 1, Sandslash has 1, Vulpix has 1, Ninetales has 1, Diglett has 1, Dugtrio has 1, Meowth has 2, Persian has 1, Geodude has 1, Graveler has 1, Golem has 1, Grimer has 1, Muk has 1, Exeggutor has 1, Marowak has 1, Ponyta has 1, Rapidash has 1, Slowpoke has 1, Farfetch'd has 1, Weezing has 1, Mr. Mime has 1, Corsola has 1, Zigzagoon has 1, Linoone has 1, Darumaka has 1, Darmanitan has 2, Yamask has 1, and Stunfisk has 1.
Total regional forms: 33
(I am not counting the Nidorans because they have different Pokedex numbers.)
Venusaur, Butterfree, Rattata, Raticate, Pikachu, Raichu, Zubat, Golbat, Gloom, Vileplume, Kadabra, Alakazam, Doduo, Dodrio, Hypno, Rhyhorn, Rhydon, Rhyperior, Goldeen Seaking, Scyther, Scizor, Magikarp, Gyarados, Meganium, Ledyba, Ledian, Xatu, Sudowoodo, Politoed, Aipom, Ambipom, Wooper, Quagsire, Murkrow, Girafarig, Gligar, Steelix, Heracross, Sneasel, Weavile, Ursaring, Piloswine, Mamoswine, Octillery, Houndoom, Donphan, Torchic, Combusken, Blaziken, Beautifly, Dustox, Ludicolo, Nuzleaf, Shiftry, Meditite, Medicham, Roselia, Roserade, Gulpin, Swalot, Numel, Camerupt, Milotic, Cacturne, Relicanth, Starly, Staravia, Staraptor, Bidoof, Bibarel, Kricketot, Kricketune, Shinx, Luxio, Luxray, Combee, Pachirisu, Buizel, Floatzel, Gible, Gabite, Garchomp, Hippopotas, Hippowdon, Croagunk, Toxicroak, Finneon, Lumineon, Snover, Abomasnow, Tangrowth, Unfezant, Frillish, Jellicent, Pyroar, Meowstic, Wobbuffet, Eevee, Indeedee
Total Pokemon with gender differences: 100
Venusaur, Charizard Y, Charizard X, Blastoise, Alakazam, Gengar, Kangaskhan, Pinsir, Gyarados, Aerodactyl, Mewtwo Y, Mewtwo X, Ampharos, Scizor, Heracross, Houndoom, Tyranitar, Blaziken, Gardevoir, Mawile, Aggron, Medicham, Manectric, Banette, Absol, Garchomp, Lucario, Abomasnow, Beedrill, Pidgeot, Slowbro, Steelix, Sceptile, Swampert, Sableye, Sharpedo, Camerupt, Altaria, Glalie, Salamence, Metagross, Latios, Latias, Rayquaza, Lopunny, Gallade, Audino, and Diancie.
Total Pokemon with a Mega Evolution: 46
Groudon and Kyogre
Total number of Pokemon with a Primal Reversion: 2
The total for all of those categories combined together, counting re is 4,294,968,444.
Multiplied by 2 for shiny
Minus three, as Castform's alternate forms cannot be shiny, and minus another 56, because each sweet for Alcremie only has one shiny.
8,589,937,191 total as of April 30, 2020.
Notes: I did not count Rotom Dex, as you cannot catch a Rotom in Dex form. Also, Arbok's Gen 2 and R/S/E form was not counted. If you were to count both of these Pokemon, then the total would be 8,589,9376,196. (Assuming that Rotom Dex cannot be shiny.)
Hope I helped!
Sources: This, this, this, this, this, and knowledge.