It's just an outline of improved Blatter's proof.
Conclusion 0 Given $f$ is a $\mathcal C^n$-function whose domain is the open set $\mathcal X$, and $f$ could be $\mathcal C^n$-extended into the open set $\mathcal X^*$, then $f$ could be $\mathcal C^n$-extended into $\mathcal X\cup\mathcal X^*$.
Conclusion 1 If $f$ is $\mathcal C^n$ on open set $\mathcal M_1$ and $\mathcal M_2$, then $f$ is $\mathcal C^n$ on $\mathcal M_1\cup\mathcal M_2$.
Conclusion 2 Let $\overline{\mathcal M}=\mathcal M\cup\mathcal L$, we have $\overline{\mathcal M}$ is an closed set.
Conclusion 3 For each point in $\overline{\mathcal M}$, there's a neighborhood into which $f$ could be $\mathcal C^n$-extended. (Hint: for each $p\in\mathcal M$, there's a neighborhood completely in $\mathcal M$)
Conclusion 4 For each point $P$ in $\Bbb R^2$ and $r>0$, there's a $\mathcal C^n$-function $\phi:\Bbb R^2\to\Bbb R$, where $\phi(M)=1$ whenever $|MP|\le r$, and $\phi(M)=0$ whenever $|MP|\ge2r$.
Now let's start the proof. As in conclusion 3, we can find a open neighborhood for each point in $\overline{\mathcal M}$. These neighborhoods cover the closed set $\overline{\mathcal M}$, so there're finity many neighborhoods, say $U_{3r_1}(P_1),\ldots,U_{3r_m}(P_m)$ (where 3 in $3r_k$ is important), covering $\overline{\mathcal M}$. As in conclusion 4, we can define a $\mathcal C^n$-function $\phi_k$ for each point $P_k$ and radius $r_k$.
Suppose that $\phi_*(M)=(1-\phi_1(M))\cdots(1-\phi_m(M))$, $\psi_k(M)=\phi_k(M)/(\phi_*(M)+\sum_{j=1}^m\phi_j(M))$, we have $\phi_*$, $\psi_k$ is $\mathcal C^n$, and $\psi_k(M)=0$ when $M$ is outside $U_{2r_k}(P_k)$.
For each $k$ choose an extension $f_k$ of $f$ to $\mathcal M\cup U_{3r_k}(P_k)$ (for conclusion 0) and let $g_k(M)=\begin{cases}\psi_k(M)f_k(M),&\qquad M\textrm{ is in $\mathcal M\cup U_{3r_k}(P_k)$}\\0&\qquad M\textrm{ is outside $U_{2r_k}(P_k)$}\end{cases}$
Hint: You're confused about the disjoint of two cases until you realize that $\psi_k(M)=0$ whenever $M$ is outside $U_{2r_k}(P_k)$.
$g_k$ is $\mathcal C^n$ because of conclusion 1. Now we let $f^*(M)=g_1(M)+\cdots+g_m(M)$, and we have $f^*$ is $\mathcal C^n$.
For each $M\in\mathcal M$, we have $f^*(M)=\sum_{k=1}^mg_k(M)=\sum_{k=1}^m\psi_k(M)f(M)=\sum_{k=1}^m\psi_k(M)=1$ Q.E.D