Is there any reason to keep special evolution items after I've used each of them? Sun Stone, King's Rock, Metal Coat, Dragon Scale, Up-Grade
That depends partially on your play style - If you are just collecting Pokemon to fill out your Pokedex and "catch 'em all", then you may never need to use an Up-Grade on more than one Porygon.
If, however, you catch a Porygon with better stats, you may want to Up-Grade and train THAT one into a Porygon2 as well.
Also, Pokemon Go only has up to Gen3 Pokemon in-game currently, as more Pokemon are added over time, there may be more Pokemon to use these evolution items on. While there is certainly no reason to keep every evolution item you get (backpack space is limited, after all), it might be worthwile to keep at least one of each on-hand.
In addition to Trent Hawkins answer, you might want to hold onto evolution items for field and special research tasks
Occasionally, you might obtain field research tasks that require to you evolve a Pokémon that requires an item. Given how evolution items to evolve Gen2 Pokémon are more easier to obtain than a Sinnoh or Unova stone to evolve Gen4 and Gen5 Pokémon respectively, it's a good idea to keep these at least one of these items for when you obtain these tasks.
During the evolution event in December 2019, these types of tasks were quite abundant. Depending on how this event event, we could possible see more like this in the future
The special research quest A Ripple in Time has two tasks that require evolving Pokémon that use evolution items
- (Task 3) Use a Sun Stone to evolve Gloom or Sunkern
- (Task 5) Use items to evolve Pokémon 2 times
It's possible that additional special research quests that require evolving Pokémon using items may come in the future, so I like to hold onto at least one of each item.