Regarding the question "Is a smooth simple closed curve the union of finitely many arcs?", I want to consider a more general case when we choose the graphs of only one type, wlog let it be $x=h(y).$
Like the author of the question above, I will consider parametrization $(x(t),y(t)),$ where $t$ changes in $[0,1].$
For detecting all of horizonal segments on the curve it is enough to find all segments of $[0,1],$ where $y(t)$ is constant, and I'll label its union as $I_{const}$. Of course, number of such segments no more than countable.
It remains to consider behavior of $y(t)$ on $I_{graphs}=[0,1]\setminus I_{const}.$
It is obvious that $I_{graphs}$ contains no more than countable points where $y'(t)$ changes sign including points of discontinuity.
This allows us to split $I_{graphs}$ into no more than countable number of segments (half-segments), on each of which we need to prove that the curve can be represented as a function $x=h(y).$
So, let consider the curve on such segment or half-segment. Wlog $y'(t)\geq0$ or has discontinuity on the segment $[t_i,t_{i+1}]$. This segment can again be divided into a countable (or finite) set of intevals or half-intervals where $y'(t)>0$ and between these intervals either $y'(t)=0$ or $y'(t)$ is undefined. It follows from this that $y(t)$ is strictly increasing and then invertable here.
So, we can define a piecewise smooth function $t(y)$ on $[y(t_i),y(t_{i+1})]$ and then we re-parametrize the curve $(x(t),y(t))$ on $[t_i,t_{i+1}]$ to $(x(t(y)),y)$ on $[y(t_i),y(t_{i+1})]$, in other words we express the curve as function $x=h(y),$ where $h(y)=x(t(y)).$
Are these arguments correct?