[guided]The proof is a clean composition of two named results, but it is worth tracking how the hypotheses of each are used.
\textbf{Why Noether Normalisation?} The starting hypothesis is that $K/k$ is finitely generated. We have no control over the relations between the generators — they could be heavily algebraic or purely transcendental. Noether Normalisation reorganises the extension into a canonical two-step tower: a purely transcendental piece $K_0/k$ on the bottom, and an algebraic (in fact finite separable) piece $K/K_0$ on the top. After this reorganisation, we know exactly what kind of extension we are dealing with at each level.
\textbf{Why the Primitive Element Theorem?} The PET requires finiteness and separability. Finiteness comes from Noether Normalisation. Separability comes from characteristic zero — every algebraic extension of a characteristic-zero field is separable, because the minimal polynomial of an algebraic element cannot be a polynomial in $Y^p$ when there is no characteristic $p$. This is the only place the characteristic-zero hypothesis is used directly in the proof structure (Noether Normalisation also uses it, but only to assert separability there too).
\textbf{Why finite plus separable?} Without separability, the conclusion of the PET fails: there exist finite inseparable extensions that are not generated by a single element. So separability is genuinely needed. Without finiteness, the PET also fails — an infinite algebraic extension cannot be generated by one element. Both hypotheses are used.
\textbf{What if $K/k$ is algebraic?} Then there is no transcendence basis to extract, and we cannot apply Noether Normalisation in the form stated (which requires $K/k$ transcendental). Instead, $K/k$ is itself finite, and we apply PET directly to obtain $y$ with $K = k(y)$, taking $n = 0$ and $K_0 = k$. The conclusion is the degenerate case of the theorem statement: an empty algebraically independent set, with $y$ algebraic over $k$.
\textbf{The final substitution.} Iterated field adjunction satisfies $k(x_1, \ldots, x_n)(y) = k(x_1, \ldots, x_n, y)$ — the smallest subfield containing $k$, $x_1, \ldots, x_n$, and $y$ is the same regardless of the order in which we adjoin. This is a basic fact about fields. It allows us to flatten the two-step tower $k \subset K_0 \subset K$ into the single expression $K = k(x_1, \ldots, x_n, y)$.[/guided]