Turing machine decides languages in RE
By definition, for every Turing machine $M$, $L(M) \in \mathsf{RE}$. Therefore your language can be rewritten as
$$
\{ \langle M_1 \rangle \langle M_2 \rangle : M_1,M_2 \text{ Turing machines} \}.
$$
This obviates some of the steps in your oddly named machine $M_{12}$.