The following citation is from Folland's Real Analysis.
Let $m$ denote the Lebesgue measure on $\mathbb{R}$ and $\{ r_j \}$ be an enumeration of the rational numbers in $[0,1]$, and given $E > 0$, let $I_j$ be the interval centered at $r_j$ of length $\epsilon \, 2^{-j}$. Then the set $U = (0,1)\cap \left( \bigcup_{1}^{\infty} I_j \right)$ is open and dense in $[0,1]$, but $m(U) < \sum_{1}^{\infty}\epsilon\, 2^{-j} = \epsilon$;
Since $U$ is a non-empty open set, $m(U)>0$. But why does the above argument show that $m(U)=0$?
It seems that you're arguing that $m(U) < \varepsilon$ for all $\varepsilon > 0$, so $m(U) = 0$.
But $U$ depends on the choice of $\varepsilon$, so the above argument doesn't work!
All this argument shows is that there are open and dense sets of arbitrarily small positive Lebesgue measure.
In other words, this is the difference between
$\qquad\exists U$ open and dense $\forall \varepsilon > 0 : m(U) < \varepsilon$ (which is not true)
and
$\qquad \forall \varepsilon > 0 \exists U$ open and dense $: m(U) < \varepsilon$ (which is what Folland shows).