Nearly every digital retailer that isn't attached to a specific publisher sells steam keys. Humble Bundle, IndieGala, Fanatical, Gamesplanet,... nearly all of them sell Steam keys OR a key that is for a publisher-related platform. Pretty much the only platforms that do not sell Steam keys are Battle.net, Origin, Ubisoft Connect, Epic Games Store and GOG. These stores all have their own distribution platform built into their storefront and as such they do not offer Steam keys.
One thing I'd do different though is not print the codes, but if possible use "anonymous gifting". This is a feature of Humble Bundle and possibly other retailers that allows the person receiving the gift to redeem the game through an emailed link and then copy-paste the CD key into Steam instead of having to manually enter a complicated CD key into Steam by hand. It also means that there's less chance of the code getting intercepted somewhere by a malicious mailman or neighbor.
Note that many of these storefronts have frequent sales that may make one store or another more attractive to buy a certain game from. There are websites that track these sites and aggregate all the sales into an easily readable list. I personally use isthereanydeal, but there are other platforms that work just as well.
Something to keep in mind: there are key resellers out there like G2A or Kinguin that you should not buy from under any circumstance, especially for indie games. These key resellers acquire many of their keys through illicit means like stolen credit cards or physical copies from cheaper areas, and they do the absolute minimum necessary to stop this. There are many indie game developers who would rather you pirate their game than buy it from these key resellers, because if these games were originally bought using a stolen credit card, the eventual chargeback fees financially hurt the developer.
Generally speaking, if a site is listed on isthereanydeal or the /r/Gamedeals Subreddit, the site is an authorized storefront that follows proper commerce rules and should be safe to buy from. If the site isn't mentioned on there, you can probably assume it's an unauthorized key reseller that you should avoid buying from.