Consider the following proof of the (finite) AC in ZF. Assume we are given a finite, non-empty collection $\mathcal{F}$ of non-empty sets. Hence $\mathcal{F}= \{A_i : 1 \leq i \leq n\}$ for some positive integer $n$. Since the sets are non-empty, we have that $\exists x_1 \exists x_2 \cdots \exists x_n \ \forall i \in \{1,2,\cdots ,n\} \ x_i \in A_i$. Hence by existential instantiation $y_i \in A_i$ (for some new symbol $y_i$). Define the choice function $A_i \mapsto y_i$. I have seen variants of this proof for instance on MathOverflow.
Some time ago I recall seeing a comment here by Asaf Karagila (which I cannot cite off the top of my head) which states that the above argument is in fact incorrect for some technical reason related to non-standard integers and some issue related to Skolem's paradox, and that the "correct" proof of finite AC in ZF requires induction.
I would ask for a detailed explanation of the problem with the above proof, which I still don't quite understand. I would also like to know how induction "saves the day" so to speak: isn't the proof in the first paragraph just the inductive proof "unrolled"?