[proofplan]
We prove first that the intersection of two open Stein subsets of a complex manifold is Stein. Holomorphic separability and the existence of global holomorphic coordinate functions pass to the intersection by restricting holomorphic functions from one Stein open set. For holomorphic convexity, a compact set $K$ in the intersection has compact holomorphic hulls in each of the two Stein open sets, and the hull computed in the intersection is a closed subset of the compact intersection of those two larger hulls. The finite case then follows by induction from the two-set case.
[/proofplan]
[step:Reduce the finite statement to intersections of two Stein open sets]
It is enough to prove the theorem when $k = 2$. Indeed, the case $k = 1$ is one of the hypotheses. Suppose the two-set case is known, and assume by induction that
\begin{align*}
\begin{align*}
V_m := U_1 \cap \cdots \cap U_m
\end{align*}
\end{align*}
is Stein for some $1 \leq m < k$. Since each $U_i$ is open in $X$, the set $V_m$ is open in $X$. Applying the two-set case to the open Stein subsets $V_m \subset X$ and $U_{m+1} \subset X$ gives
\begin{align*}
\begin{align*}
V_{m+1} := V_m \cap U_{m+1} = U_1 \cap \cdots \cap U_{m+1}
\end{align*}
\end{align*}
Stein. By induction, $U_1 \cap \cdots \cap U_k$ is Stein once the two-set case has been proved.
[/step]
[step:Fix two Stein open sets and set up the holomorphic hull notation]
Assume $k = 2$, and define
\begin{align*}
\begin{align*}
U := U_1 \cap U_2 .
\end{align*}
\end{align*}
Since $U_1$ and $U_2$ are open in the complex manifold $X$, the set $U$ is open in $X$, hence is a complex manifold with the induced complex structure. For every open complex submanifold $V \subset X$, let $\mathcal{O}(V)$ denote the $\mathbb{C}$-algebra of holomorphic maps $V \to \mathbb{C}$. If $K \subset V$ is compact, define its holomorphic hull in $V$ by
\begin{align*}
\begin{align*}
\widehat{K}_{\mathcal{O}(V)}
:=
\left\{
p \in V :
|f(p)| \leq \sup_{q \in K} |f(q)|
\text{ for every } f \in \mathcal{O}(V)
\right\}.
\end{align*}
\end{align*}
We will verify the Stein conditions for $U$ using the standard characterization of Stein manifolds by holomorphic separability, global holomorphic coordinate functions, and holomorphic convexity.
[/step]
[step:Restrict holomorphic functions from $U_1$ to separate points of $U$]
Let $p,q \in U$ satisfy $p \neq q$. Because $U_1$ is Stein, it is holomorphically separable. Hence there exists a holomorphic map $f: U_1 \to \mathbb{C}$ such that $f(p) \neq f(q)$. Define the restriction map
\begin{align*}
\begin{align*}
\rho_1: \mathcal{O}(U_1) &\to \mathcal{O}(U) \\
h &\mapsto h|_U .
\end{align*}
\end{align*}
Then $\rho_1(f): U \to \mathbb{C}$ is holomorphic and satisfies
\begin{align*}
\begin{align*}
\rho_1(f)(p) = f(p) \neq f(q) = \rho_1(f)(q).
\end{align*}
\end{align*}
Thus $U$ is holomorphically separable.
[/step]
[step:Restrict global coordinate functions from $U_1$ to obtain coordinates on $U$]
Let $p \in U$, and let $n := \dim_{\mathbb{C}} X$. Since $U_1$ is Stein, it admits global holomorphic coordinate functions at $p$: there are an open neighbourhood $W \subset U_1$ of $p$ and holomorphic maps $g_1,\dots,g_n: U_1 \to \mathbb{C}$ such that
\begin{align*}
\begin{align*}
G: W &\to \mathbb{C}^n \\
x &\mapsto (g_1(x),\dots,g_n(x))
\end{align*}
\end{align*}
is a biholomorphism from $W$ onto the open subset $G(W) \subset \mathbb{C}^n$.
The set $W \cap U$ is an open neighbourhood of $p$ in $U$. Define
\begin{align*}
\begin{align*}
G_U: W \cap U &\to G(W \cap U) \\
x &\mapsto (g_1|_U(x),\dots,g_n|_U(x)).
\end{align*}
\end{align*}
Because $G$ is a biholomorphism on $W$, its restriction $G_U$ is a biholomorphism from $W \cap U$ onto $G(W \cap U)$. Moreover, $G(W \cap U)$ is open in $\mathbb{C}^n$, since $W \cap U$ is open in $W$ and $G: W \to G(W)$ is a homeomorphism onto an open subset of $\mathbb{C}^n$. Hence the restricted functions $g_1|_U,\dots,g_n|_U \in \mathcal{O}(U)$ give holomorphic coordinates at $p$.
[/step]
[step:Trap the holomorphic hull in $U$ inside the two larger Stein hulls]
Let $K \subset U$ be compact. Since the inclusion maps $U \hookrightarrow U_1$ and $U \hookrightarrow U_2$ are continuous, the set $K$ is compact as a subset of $U_1$ and as a subset of $U_2$. Define
\begin{align*}
\begin{align*}
K_1 := \widehat{K}_{\mathcal{O}(U_1)}
\quad\text{and}\quad
K_2 := \widehat{K}_{\mathcal{O}(U_2)} .
\end{align*}
\end{align*}
Because $U_1$ and $U_2$ are Stein, they are holomorphically convex, so $K_1$ is compact in $U_1$ and $K_2$ is compact in $U_2$.
We claim that
\begin{align*}
\begin{align*}
\widehat{K}_{\mathcal{O}(U)} \subset K_1 \cap K_2 .
\end{align*}
\end{align*}
Indeed, let $p \in \widehat{K}_{\mathcal{O}(U)}$. If $f: U_1 \to \mathbb{C}$ is holomorphic, then $f|_U \in \mathcal{O}(U)$. By the defining inequality for $p \in \widehat{K}_{\mathcal{O}(U)}$,
\begin{align*}
\begin{align*}
|f(p)|
=
|f|_U(p)|
\leq
\sup_{q \in K} |f|_U(q)|
=
\sup_{q \in K} |f(q)|.
\end{align*}
\end{align*}
Since this holds for every $f \in \mathcal{O}(U_1)$, we have $p \in K_1$. The same argument applied to every holomorphic map $h: U_2 \to \mathbb{C}$ gives $p \in K_2$. Therefore $p \in K_1 \cap K_2$.
[guided]
The point of this step is to compare three hulls: the hull computed using all holomorphic functions on $U$, and the two hulls computed using holomorphic functions on the larger Stein open sets $U_1$ and $U_2$. Larger domains usually have fewer holomorphic functions available after restriction, but every function on $U_1$ and every function on $U_2$ does restrict to a holomorphic function on $U$.
Let $K \subset U$ be compact. The inclusion maps $U \hookrightarrow U_1$ and $U \hookrightarrow U_2$ are continuous, so compactness of $K$ in $U$ implies compactness of $K$ in each $U_i$. Define
\begin{align*}
\begin{align*}
K_1 := \widehat{K}_{\mathcal{O}(U_1)}
\quad\text{and}\quad
K_2 := \widehat{K}_{\mathcal{O}(U_2)} .
\end{align*}
\end{align*}
Since $U_1$ and $U_2$ are Stein, holomorphic convexity of Stein manifolds gives that $K_1$ is compact in $U_1$ and $K_2$ is compact in $U_2$.
We now prove the containment
\begin{align*}
\begin{align*}
\widehat{K}_{\mathcal{O}(U)} \subset K_1 \cap K_2 .
\end{align*}
\end{align*}
Choose $p \in \widehat{K}_{\mathcal{O}(U)}$. To show $p \in K_1$, we must verify the defining hull inequality for every holomorphic function on $U_1$. Let $f: U_1 \to \mathbb{C}$ be holomorphic. Its restriction $f|_U: U \to \mathbb{C}$ is holomorphic, so $f|_U \in \mathcal{O}(U)$. Because $p$ lies in the $\mathcal{O}(U)$-hull of $K$, the defining inequality gives
\begin{align*}
\begin{align*}
|f(p)|
=
|f|_U(p)|
\leq
\sup_{q \in K} |f|_U(q)|
=
\sup_{q \in K} |f(q)|.
\end{align*}
\end{align*}
This is exactly the condition $p \in \widehat{K}_{\mathcal{O}(U_1)} = K_1$. The same argument with an arbitrary holomorphic map $h: U_2 \to \mathbb{C}$ shows $p \in K_2$. Hence $p \in K_1 \cap K_2$, as required.
[/guided]
[/step]
[step:Show the hull in $U$ is closed inside a compact subset of $U$]
We first show that $K_1 \cap K_2$ is compact in $U$. The inclusion maps $U_i \hookrightarrow X$ are continuous, so $K_i$ is compact as a subset of $X$ for $i=1,2$. Since complex manifolds are Hausdorff, compact subsets of $X$ are closed. Thus $K_2$ is closed in $X$, and
\begin{align*}
\begin{align*}
K_1 \cap K_2
\end{align*}
\end{align*}
is a closed subset of the compact set $K_1$ in $X$. Therefore $K_1 \cap K_2$ is compact. Since $K_1 \subset U_1$ and $K_2 \subset U_2$, we have $K_1 \cap K_2 \subset U_1 \cap U_2 = U$, so this compact set is compact in the subspace $U$.
It remains to show that $\widehat{K}_{\mathcal{O}(U)}$ is closed in $U$. For each $f \in \mathcal{O}(U)$, define the real number
\begin{align*}
\begin{align*}
M_f := \sup_{q \in K} |f(q)|.
\end{align*}
\end{align*}
The number $M_f$ is finite because $K$ is compact and $|f|: U \to \mathbb{R}$ is continuous. Define
\begin{align*}
\begin{align*}
A_f := \{p \in U : |f(p)| \leq M_f\}.
\end{align*}
\end{align*}
Since $|f|$ is continuous and $(-\infty,M_f] \subset \mathbb{R}$ is closed, the set $A_f$ is closed in $U$. By the definition of the hull,
\begin{align*}
\begin{align*}
\widehat{K}_{\mathcal{O}(U)}
=
\bigcap_{f \in \mathcal{O}(U)} A_f .
\end{align*}
\end{align*}
Hence $\widehat{K}_{\mathcal{O}(U)}$ is closed in $U$. From the previous step,
\begin{align*}
\begin{align*}
\widehat{K}_{\mathcal{O}(U)} \subset K_1 \cap K_2,
\end{align*}
\end{align*}
so $\widehat{K}_{\mathcal{O}(U)}$ is a closed subset of the compact set $K_1 \cap K_2$ in $U$. Therefore $\widehat{K}_{\mathcal{O}(U)}$ is compact.
[guided]
The containment from the previous step only says that the hull in $U$ is a subset of $K_1 \cap K_2$. A subset of a compact set need not be compact, so we also need closedness of the hull in $U$.
First we prove that $K_1 \cap K_2$ is compact in $U$. Each $K_i$ is compact in $U_i$, and the inclusion $U_i \hookrightarrow X$ is continuous, so each $K_i$ is compact as a subset of $X$. Complex manifolds are Hausdorff topological spaces. Therefore compact subsets of $X$ are closed, so $K_2$ is closed in $X$. It follows that
\begin{align*}
\begin{align*}
K_1 \cap K_2
\end{align*}
\end{align*}
is closed in the compact space $K_1$, hence compact. Also $K_1 \subset U_1$ and $K_2 \subset U_2$, so
\begin{align*}
\begin{align*}
K_1 \cap K_2 \subset U_1 \cap U_2 = U.
\end{align*}
\end{align*}
The subspace topology on $K_1 \cap K_2$ induced from $U$ is the same as the subspace topology induced from $X$, so this set is compact in $U$.
Now we prove that the hull $\widehat{K}_{\mathcal{O}(U)}$ is closed. Fix a holomorphic map $f: U \to \mathbb{C}$. Define
\begin{align*}
\begin{align*}
M_f := \sup_{q \in K} |f(q)|.
\end{align*}
\end{align*}
This supremum is finite because $f$ is holomorphic, hence continuous, and $K$ is compact. Define
\begin{align*}
\begin{align*}
A_f := \{p \in U : |f(p)| \leq M_f\}.
\end{align*}
\end{align*}
The map $|f|: U \to \mathbb{R}$ is continuous, and $(-\infty,M_f]$ is closed in $\mathbb{R}$, so $A_f = |f|^{-1}((-\infty,M_f])$ is closed in $U$. The holomorphic hull is exactly the intersection of all these closed sets:
\begin{align*}
\begin{align*}
\widehat{K}_{\mathcal{O}(U)}
=
\bigcap_{f \in \mathcal{O}(U)} A_f .
\end{align*}
\end{align*}
Arbitrary intersections of closed sets are closed, so $\widehat{K}_{\mathcal{O}(U)}$ is closed in $U$. Since the previous step proved
\begin{align*}
\begin{align*}
\widehat{K}_{\mathcal{O}(U)} \subset K_1 \cap K_2,
\end{align*}
\end{align*}
the hull is a closed subset of the compact set $K_1 \cap K_2$ in $U$. Hence $\widehat{K}_{\mathcal{O}(U)}$ is compact.
[/guided]
[/step]
[step:Conclude that the two-set intersection is Stein and finish the induction]
We have shown that $U$ is holomorphically separable, admits global holomorphic coordinate functions at every point, and is holomorphically convex, because every compact set $K \subset U$ has compact holomorphic hull $\widehat{K}_{\mathcal{O}(U)}$. By the standard Stein characterization, $U = U_1 \cap U_2$ is Stein. The reduction step then gives, by induction on $k$, that every finite intersection
\begin{align*}
\begin{align*}
U_1 \cap \cdots \cap U_k
\end{align*}
\end{align*}
of open Stein subsets of $X$ is Stein.
[/step]