That's because both serve different purposes. There are many tasks in NLP where you simply need to tokenize by word. Handling multi-word expressions where there are certain pre-defined phrases you would like to keep fixed during tokenization, you use MWEtokenizer. If you use n-grams, then you might get irrelevant combinations, which requires additional time in filtering the unwanted ones, unless there is an exploration aspect to your task, where you are looking for a specific phrase.