Note that you get one Vitali set for each choice of representatives of the equivalence classes, so in fact there are many Vitali sets, not just one.
A Vitali set need not be dense in $[0,1)$. For example, instead of picking representatives that are in $[0,1)$, you can pick representatives that are in $[0,q)$ for any rational $q\gt 0$; in particular, you can make sure that your Vitali set is constrained to as small a part of $[0,1)$ as you care to specify (and you can translate the set by adding a constant rational to it, as well).
To see this, it suffices to show that for every real number $r$, there is a real number $s\in [0,q)$ such that $r-s\in\mathbb{Q}$. But this is easy: pick a rational $t\in [0,q)$. By the Archimedean property, there exists $N\geq 0$ such that $Nt\leq r\lt (N+1)t$. In particular, $0\leq r-Nt\lt t$, so letting $s=r-Nt$ gives the desired real number.
Since every real is equivalent to some real in $[0,q)$, you can always pick the class representatives to be in $[0,q)$ (instead of $[0,1)$). So you can ensure that you have a Vitali set is contained in $[0,q)$.
Similarly, if you select any interval $(a,b)$ contained in $[0,1)$ you can find a Vitali set that is contained in $(a,b)$, and in particular whose closure is not $[0,1]$ if $0\lt a\lt b\lt 1$.
In fact, you can find a Vitali set that has very small outer measure (any positive outer measure greater than $0$ and smaller than $1$ that you care to specify ahead of time): see for example JDH's answer to this question.