It depends.
If the two questions are essentially the same, just worded differently, then yes, one should be marked as a duplicate of the other.
If they're two distinct questions, then no, they should not be marked duplicates.
I think your example is one of the latter.
Now, that one answer can serve two different questions is a strong indicator that there may be a duplicate. Consider these "fake"1 questions:
- How do I sort Gmail messages by size?
- Sort Gmail by number of recipients
- I want my Gmail conversations sorted in ascending date order by the original message
The answer to all of these is: "You can't. Gmail sorts strictly by date ascending on the latest message in the conversation. You need to use filters to get the information you need."
Does that make them all duplicates of each other? No. However, a strong argument could be made that they should be duplicates of a canonical "How do I sort Gmail by something other than date descending?" question.
Another minor scenario is when a web app simply doesn't support the desired feature. There are dozens (probably more) answers to the effect of "No, you can't do that in the app as it currently exists. You might be able to do the something similar with a user script." There's no way that all of those questions are duplicates.
However, both of those are different than your scenario, where the "answer" appears to be a third-party utility that has a number of functions. What's to say there's not some other third-party utility out there that covers one of those functions, but not the other? Or that Twitter will come around to adding the same functionality of one but not the other. If it's the one that's been closed as duplicate, no new answer can be added to the question, and it wouldn't be an answer to the "master" in the duplicate pair.
So, no, for this particular scenario, the two questions are not duplicates, in spite of sharing a solution.
1 Actually, these are questions we've had here.