Here's a slightly more hands-on point of view, using just the Jordan curve theorem (although of course in the end it does come down to the same thing as Euler's formula somehow, as described by Alex.) 

Take a closed curve $\gamma\colon [0,1]\to S^2$, and assume that there are only finitely many pairs of points in $[0,1]$ that have the same image under $\gamma$. (Here $S^2$ is the sphere, i.e. the one-point compactification of the plane.)

Now define a finite sequence $(x_n)_{n=0}^{N}$ in $[0,1]$ by letting $x_0 = 0$ and letting $x_{n+1}>x_n$ be minimal with $\gamma(x_{n+1})\in \gamma([0,x_{n+1}))$. By assumption, this yields a finite sequence with $x_N = 1$. 

Now, I claim that $\gamma([0,x_n])$ separates the sphere $S^2$ (compactification of the plane) into $n+1$ connected components, which are all simply-connected (hence topologically equivalent to the plane). This is trivial for $n=0$. If true for $n<N$, then it follows for $n+1$. Indeed, $\gamma( (x_n,x_{n+1}) )$ lies in some complementary component $U$ of $\gamma([0,x_n])$. Either this curve is injective, in which case it tends to $\partial U$ in both directions. Under the homeomorphism of $U$ to the plane, it is thus a Jordan curve in the plane, and separates $U$ in exactly two components. 

If the curve is not injective, then there is a point $x'_n \in (x_n,x_{n+1})$ with $\gamma(x'_n) = \gamma(x_{n+1})$. Then $\gamma( [x_n', x_{n+1}])$ is a Jordan curve in $U$, and $\gamma([x_n,x_n'])$ is an arc connecting a point of $\partial U$ to this Jordan curve. Again, we see that $\gamma(x_n,x_{n+1})$ separates $U$ into two components, and the total number of components increases by $1$. 

So we have proved that $\gamma$ separates the plane into $N+1$ components. In your setting, we easily see that $N=n+1$ (there is one $x_n$ for each of your multiple points, plus $x_0 = 0$ and $x_{n+1}=1$). So, there are n+2 components, or n+1 "holes" in your terminology.

Nb. You will notice that this is essentially the same argument as in the proof of Euler's formula: adding a new edge with one existing and one new vertex does not create new faces, while adding a an edge between two existing vertices DOES create an extra face.