On $L^* - \{\epsilon\} = L^+$
You got the definition of $L^+$ wrong. It is not $L^* \setminus \{\epsilon\}$. Rather, it is
$$
L^+ = \bigcup_{n=1}^* L^n.
$$
You can check that $\epsilon \in L^+$ iff $\epsilon \in L$. Therefore:


If $\epsilon \notin L$ then $L^+ = L^*\setminus\{\epsilon\}$.
If $\epsilon \in L$ then $L^+ = L^*$.