a string has to belong to either L1 or L2 (i.e halt or not halt) so their union would be a regular language.
This is a false statement. There is no chain of reasoning so it's hard to tell where the problem is.
Maybe it's a language issue. Consider this statement:
Every string (over some alphabet $\Sigma$) belongs to either $L_1$ or $L_2$. (*)
If that is true, then $L_1 \cup L_2 = \Sigma^*$ which is indeed regular.
Whether it is true depends on the encoding $\langle \_,\_ \rangle$. If it is surjective¹, then (*) is true; otherwise it's not.
I have a doubt. Suppose we assume L as recursively enumerable language then there exists a T.M which halts on all "yes" cases. Here yes cases means strings which belong to either L1 or L2. So, if a string belongs to L2, then the T.M should halt which means that we are able to halt and say "yes" even if string doesn't halt (according to condition of L2). This solves halting problem and hence assumption is not correct and so L should be non recursively enumerable.
You make a basic (but understandable and common) mistake: somebody promises you that an algorithm exists, and you go ahead an assume you know how the algorithm must work: clearly, the algorithm must check if either case happens! No, not if membership in the union can be checked in other, simpler ways.
This misconception is very widespread among novices. My favorite related example is the computability of whether $\pi$ contains $0^k$. Try to understand why that's the case, then revisit this question.
Now, for arbitrary $L_1 \in \mathrm{RE}$ and $L_2 \not\in \mathrm{RE}$ we don't know anything.
- If $L_1 = \emptyset \in \mathrm{RE}$ we get $L_1 \cup L_2 = L_2 \not\in \mathrm{RE}$.
- If $L_1 = \Sigma^* \in \mathrm{RE}$ we get $L_1 \cup L_2 = \Sigma^* \in \mathrm{RE}$.
- This is certainly possibly: Both the sets of all TMs and the set of all words are countably infinite, so we know there are bijections between either set and $\mathbb{N}$. The bijections can be lifted to pairs, and the result then bijectively maps to any universal language (your choice of alphabet). Of course, nobody outside of recursion theory uses such an encoding; it's unreadable. Then, the hardness of $L_1 \cup L_2$ depends on the specific encoding at hand.