So, it looks like you are searching for an engine that supports Mate Search. In regards to the UCI protocol, you would want an engine that supports the
go mate <x> command. Stockfish does implement this command, so you should be able to use it to search for mate if a mate exists. I believe that some chess GUIs allow you to run a mate search, which should run this command.
However, Stockfish is a full-fledged chess engine, and it is built to find the best move in the position, not necessarily a forced checkmate. The way that it does this is by aggressively pruning the search tree so that it can focus the search on moves that are likely to be the best. A quick peek at the source code appears to show that the
go mate <x> command is used to cut the search off only when a mate is found within x moves. I don't see anything that changes much in the way that the search operates based on this parameter.
Tools for finding checkmate, such as Chest UCI or the Fritz Mate engine, work differently. They will typically not prune any part of the search tree, and they do not include any sort of static evaluation. They merely search every possible move until it finds a sequence of moves ending in checkmate. This means that it will inevitably be slower than a standard engine.
Here's a snippet from an article that Fritz published in 2004.
This brings us to why the Mate engine is so different from other chess engines: it has no "pruning" function. Mate will always evaluate every position it comes across in its search, ignoring nothing. And that's precisely why the engine appears to be so slow. It's not actually any "slower" than a regular chess engine (it's still evaluating approximately the same number of positions per second as a normal chess engine) -- it just looks slower because it's not cutting out any candidate moves, so it takes much longer for Mate to reach a particular search depth.
This TalkChess.com post from 2012 discusses a desire for a successor to Chest for finding checkmates, but it doesn't appear to have gone too far other than to conclude that chess engine developers are interested in building strong chess playing applications, so standard engines are probably not going to support this functionality. Somebody in the post mentioned that Critter is good at these endgame puzzles, but it doesn't look like its been worked on since 2012, and it is still an engine first and foremost. However, it wouldn't hurt to give it a try and see if it works well for any of the positions that you find to be problematic.
This more recent post for a couple months ago is asking for a similar application. They mention both Matefish and Huntsman in this thread as Stockfish forks which are meant for searching for mate, but also state that they are slower than ChestUCI or Gustav (which appears to be proprietary, German-language, and hard to acquire).