$L_1$ contains set of all strings of the form $(a...b...)$ where number of $b'$s should be greater than or equal to $a'$s
i.e. $L_1 = \{ \epsilon , b ,bb, bbb...., ab, abb , abbb, .....,aabb, aabbb..... \}$
$L_2$ contains set of all strings of the form $(a...b...)$ where number of $b'$s should be strictly less than $a'$s
i.e. $L_2 = \{ a ,aa, aaa...., aab, aaab, aaabb , aaaab, aaaabb, aaaaabbb, .....\}$
So when we do union of both $L_1$ and $L_2$ then we will get a language in which
Either (number of $b'$s should be greater than or equal to $a'$s) OR (number of $b'$s should be strictly less than $a'$s)
i.e. $L_1 \cup L_2 = \{ a^nb^m | n,m \geq 0\ and\ m \geq n \ OR\ m < n \} $
i.e. We can have any number of $a's$ followed by any number of $b'$s
i.e. $ L_1 \cup L_2= \{ a^nb^m | n , m \geq 0 \}$
This is a regular language since we can draw a finite automata for it.
And as we know every regular language is also a context free language .
$\therefore$ Option $C.$ is the correct answer.