Well in the first place you're talking about two different levels of weapon system so this is really a apples-to-oranges comparison. In practice a 40mm grenade launcher and a 60mm mortar would be used to cover different combat ranges: the M203 grenade launcher has an effective range from 14m (minimum) to 350m (15 to 382 yards) while an Elbit C05 commando mortar's range is from 85m to 800m (92 to 874 yards). Of course those ranges can be extended depending on the model of launcher or mortar used and the ammunition loaded (ex. ERLP grenades than can be loaded onto the Milkor MGL and can extend up to 800m, the Elbit C576 commando mortar with max. range of 1600m), but that doesn't really effect the general difference in use.
This picture should give one a better understanding of the difference in ranges we're talking about.

A commando mortar is supposed to be one step above the grenade launcher in terms of range and munition payload, but still be light enough to be man-portable and usable by just one operator, as opposed to other infantry mortars which require dedicated crews. This is achieved at the expense of accuracy and firepower when compared to the larger crewed mortars (lowering equipment weight and reducing the number of operators means less precise targeting and fire correction as well as having a less stable mortar platform).
A grenade launcher is even lighter and more portable, with correspondingly lighter munitions as well. Of course they can lob a lot less firepower than any mortars with significantly larger caliber munitions.
Its all a compromise among firepower, portability & range and the "best" option depends on what's needed in the situation. You probably wouldn't want to use a grenade launcher to try to engage targets in a field 500m away, likewise you probably wouldn't want to use a mortar to lob an explosive through a window 50m away.