Just like every mon in ou, it's counters would vary depending on the coverage that it is running. Here are a few mons that would be able to deal with it depending on what moves it has
If it lacks wild charge, then Slowbro, Toxapex and metal birbs do fairly well. The first two resist both its stabs and can irritate it with potential scald burns while metal birbs resist behemoth bash and aren't that vulnerable to its close combats. Metal birbs also come with the added bonus of mostly running iron defense and body press because of how threatening Garchomp and Rillaboom are which would also hurt Zama a lot. You can even consider these mons as hard counters because unless Zama gets a considerable amount of howls up, wild charge won't even kill these guys
Bulky grasses like Tangrowth and Amoonguss can do fairly well against Zama. The first can be a soft counter if healthy because it is bulky as hell and Zama's lack of item would mean rocky helmet damage is permanent. Amoonguss would be a check because it takes too much from bash. Both of them also threaten to put Zama out of commission for a couple turns
If it's lacking crunch, then Aegislash can irritate it. It resists both of Zama's stabs and a well timed king's shield will further annoy the wolf. This is a bit shaky because for one thing, Aegislash has to compete for Dragapult as a team's ghost type and Aegislash won't be able to kill Zama that easily
If lacking play rough, then Garchomp checks this very well. Remember that any damage Zama takes is permanent because it can't hold any item and Garchomp is notorious for almost always getting a kill if it manages to sd up. Landorus Therian can also do the same but Lando usually goes utility sets over offensive
Volcarona is also a very good check to Zama. It resists both its stabs and just turns Zama into qd fodder. The reason I said it only checks is because adamant wild charge does half damage to Volcarona, meaning that Zama will just two shot Volc if it recklessly switches in. With a safe switch, Volcarona can setup qd in its face before incinerating it with its fire stab
Victini is another odd choice that can check Zama. Like Volcarona, it resists Zama's stabs and deletes it from the game with v create. Victini is only a check because unless running boots, stealth rock will severely limit its switch in opportunities
Moltres can also do fairly well against Zama however, it has to run a considerable amount of defense evs and has to avoid knock off at all costs. Wild charge hurts Mol a lot so it only checks Zama. This is really shaky though due to Moltres' nature of needing that much care of not losing its precious boots. However, it can really screw over Zama if it manages to flame body the wolf
Buzzwole would do incredibly well against Zama. Buzzwole is the bane of all physical attacking mons that lack flying type moves, even for the two premier physical attackers in Garchomp and Rillaboom. However, Buzzwole has major drawbacks in its utter lack of utility aside from killing the ones it walls. It is an option though if you want
Lastly, Zama's one true hard counter is none other than Zapdos. Zama will never be able to break past Zapdos unless tha player using thunder bird is an absolute dumbass. Zama's stabs are resisted by Zapdos and the only thing Zama can do is ice fang it, which doesn't even two shot Zapdos and has major opportunity costs in using. Like Moltres, Zama will get screwed over but this time, it gets worse as paralysis will hurt it a lot more than burn does
Note that all of these are mostly defensive answers. The meta with Zama is relatively unexplored so it will take a few months before it's answers and own sets are discovered so all of these are just on a first glance. Because of Zama's higher than Tornadus speed and incredible defenses, offensively checking it will not be that easy