Regex/Automata-based Approaches
Informally
The regular expression (M|N)* matches the same thing as (M*N*)*. This is obvious by inspection: both of them denote a completely arbitrary (and potentially empty) mixture of M's and N's.
By Finite State Machine Equivalence
We can show the expressions are equivalent by constructing the equivalent deterministic finite automata (DFA's) and showing that these are equivalent: same number of states, same transitions.
In constructing these automata, we are justified in treating M and N as simple input alphabet symbols, because if two automata are both shown to consume arbitrary mixtures of the symbols M and N, the contents generated by M and N are irrelevant to the equivalence.
M and N can be regarded as possible "super tokens" recognized by some subordinate automata which we need not consider.
You will find that both automata just have one state, which is their acceptance state, and transitions back to that state on either M and N. So they accept the initial empty prefix when no input is given, and thereafter accept either M or N as it occurs.
You can construct a DFA formally. Start by making an NFA graph, and then do the subset construction. It's a 15 minute pencil-and-paper exercise for these trivial expressions.
By Regex Derivatives
See this 1964 paper Derivatives of Regular Expressions by Janusz A. Brzozowski.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.98.4378
The idea is that we can compute a derivative of an expression with respect to an input alphabet symbol, such that the result of the derivation is a new regular expression which expresses a match for the remaining input.
The most basic derviative is that of the regular expression $a$ with respect to the symbol $a$, the result of which is empty: $D_a a = \lambda$.
Another example is the derivative $D_a M*, M$ is $(D_a M)M*$. That is to say, the derivative of the $M*$ regular expression with respect to any symbol $a$ is the same as the derivative of just $M$ with respect to $a$, catenated with $M*$. This says that if we get a match for $M$, we are left, once again, with $M*$ facing the remaining input.
Thus suppose take $a$ to be $M$. Then we have $(D_M M)M*$, in which $(D_M M)$ disappears by the first derivative rule, namely $D_a a = \lambda$ leaving us with $\lambda M*$ which is just $M*$. That tells us that that since after consuming $M$, the rest of the input faces the original regular expression, the regular expression must be consuming an arbitrary number of $M$.
We can use regex derivatives to show that two different regexes both accept an arbitrary mixture of two symbols, which shows that the two expressions denote equivalent languages.