You cannot, in general, ensure that $C(n)(i)$ and $C(n+1)(i)$ are identical for $i \leq n$. If you could do that, you could indeed take $\cup_n C(n)$ to obtain a choice function. But the problem is not with the axiom of union, the problem is that you have overstated what induction actually gives you.
It is true that, when you prove the inductive step, you temporarily obtain $C(n)(i)= C(n+1)(i)$, because you extend the previous finite choice function. But when you apply the principle of induction, all that it tells you is that
$$
(\forall n)(\exists C)[C \text{ is a choice function on } \{A_1, \ldots, A_n\}]
$$
You do not get that there is an infinite sequence $C(n)$ of compatible finite choice functions.
This is one place where the difference between "we construct an infinite sequence inductively" and "we construct a sequence by induction" really matters. To construct an infinite sequence inductively means to give a construction of an infinite sequence $\langle \alpha_0, \alpha_1, \ldots\rangle$ that tells how to construct $\alpha_0$ and then tells how to construct $\alpha_{i+1}$ from $\alpha_i$.
The principle of mathematical induction, on the other hand, has the general form
$$
[P(0) \land (\forall n)[P(n)\to P(n+1)]] \to (\forall n)P(n).
$$
It does not, on its own, give you a way to take a collection of finite sequences and combine them into an infinite sequence. An inductive construction, written in full generality, may require some side proofs by induction to verify that the conditions needed in the construction are maintained at each step. But the power of inductive constructions truly goes beyond the power of mathematical induction.
There are two general situations we can find ourselves in with the inductive construction of a sequence $\langle \alpha_0, \alpha_1, \ldots\rangle$.
Situation 1: We can select $\alpha_{i+1}$ uniquely. For example, there may be a function $f$ so that $\alpha_{i+1}$ can simply be taken to equal $f(\langle \alpha_0, \ldots, \alpha_i\rangle)$. In this case, the axiom of choice is not required for the inductive construction.
One example is the proof of weak Konig's lemma: any infinite $\{0,1\}$ tree has path. We construct the path inductively; given a finite path $\langle \alpha_0, \ldots, \alpha_i\rangle$, if there are infinitely many nodes in the tree above $\alpha_i \smallfrown 0$ then we make $\alpha_{i+1} = \alpha_i \smallfrown 0$. Otherwise we take $\alpha_{i+1} = \alpha_i \smallfrown 1$. This inductive construction does not require the axiom of choice; it can be seen as simply iterating a certain function to produce the path. The function is defined so that $f(\sigma) = \sigma\smallfrown 0$ if there are infinitely many nodes of the tree above $\sigma\smallfrown 0$, and $f(\sigma) = \sigma\smallfrown 1$ otherwise. The axiom of choice is not at all required to construct this $f$.
Situation 2: We can prove the existence of at least one possible value for each $\alpha_{i+1}$, as the construction progresses, but we do not have a function that can be used to guide the construction. This is precisely the situation that the axiom of dependent choice is intended to handle. Dependent choice is precisely the principle you need to prove the axiom of countable choice by inductively constructing the choice function.
When you move from $\exists s\in S$, to specifying "Let $s$ be an element of $S$" you are using what is known as existential instantiation. This is an inference rule of the underlying logic, stating that if there are objects satisfying some property, we can add a new symbol to the language with the statement that this symbol satisfies our property.
So you can apply it once, or twice, or thrice, and if you live long enough and all you do is apply it, then maybe even a few trillion times. Sure, all that is fun and games. But how can you apply it to each and every set of real numbers?
You simply can't.
So what you did there, really, was to say that you have a function mapping $S$ to an element of itself, and that this was your uniform existential instantiation. But why would such a function exist? Well, the answer is that without postulating its existence, it is possible that no such function exists. So you need to have the axiom of choice to assert the existence of such a function, which happens to be exactly what the axiom of choice is doing: it allows you to take all those sets, and get existential instantiation for all of them for the price of one; namely, you only need to instantiate the quantifier stating "There exists a choice function" once, and the rest is given.
Let me add two remarks here.
Zermelo, historically, treated the axiom of choice as a principle of logic, rather than an axiom of set theory. Probably to do exactly what you did there.
Many modern proof assistants prove the axiom of choice, by exactly the same argument as this. When you eliminate existential quantifiers like this uniformly, you simply get a choice function. This is not a bug per se, it's more of a consequence of the design features.
Best Answer
Inductions give you every finite case but not the infinite case. Induction is not "continuous" in this aspect.
Yes, $X=\Bbb N$ and from this follows the fact that every finite subcollection admits a choice function does not imply that you can actually choose from infinitely many sets at once.
Let me give you a ridiculous analogue to your argument, it is ridiculous so you can easily find the mistake there, and I hope that it will help you see your own mistake as well:
It is quite obvious what I did wrong here, I showed that every initial segment is finite, but not that the entire collection is finite.
Let's push this one step forward, here is a wrong argument which follows similarly, but its proof is slightly less exaggerated than the one above:
In here we also proved by induction that every initial segment has a finite power set, but we made a mistake by concluding that the power set of $\Bbb N$ is this union, which if you look closely, does not even contain $\Bbb N$ itself. The mistake here is that we assume that the induction carries over to the limit stage, i.e. we falsely assume that $\sup\{2^n\mid n\in\mathbb N\}=2^{\sup\{n\mid n\in\mathbb N\}}$.