[proofplan]
We use Cartan's Theorem A on the coherent ideal sheaf of the point $p$ to produce global holomorphic functions vanishing at $p$ whose germs generate the maximal ideal of $\mathcal{O}_{X,p}$. Passing to the quotient by the square of the maximal ideal identifies first-order parts of germs with the cotangent space $T_p^*X$. A finite spanning family in this quotient contains $n$ elements forming a basis, and those elements have linearly independent differentials at $p$. The holomorphic inverse function theorem then turns this first-order independence into local holomorphic coordinates.
[/proofplan]
[step:Generate the maximal ideal at $p$ by global holomorphic functions vanishing at $p$]
Let $\mathcal{O}_X$ denote the sheaf of holomorphic functions on $X$. Define the ideal sheaf of the point $p$,
\begin{align*}
\mathfrak{m}_p \subseteq \mathcal{O}_X,
\end{align*}
by declaring, for each open set $U \subseteq X$,
\begin{align*}
\mathfrak{m}_p(U)
=
\begin{cases}
\{h \in \mathcal{O}_X(U) : h(p)=0\}, & p \in U,\\
\mathcal{O}_X(U), & p \notin U.
\end{cases}
\end{align*}
This is the ideal sheaf of the analytic subset $\{p\} \subset X$, hence is coherent by the Coherence of Ideal Sheaves of Analytic Subsets.
Since $X$ is Stein and $\mathfrak{m}_p$ is coherent, Cartan's Theorem A gives that the evaluation morphism
\begin{align*}
\Gamma(X,\mathfrak{m}_p)\otimes_{\mathbb{C}} \mathcal{O}_{X,p} &\to (\mathfrak{m}_p)_p
\end{align*}
generates the stalk $(\mathfrak{m}_p)_p$ as an $\mathcal{O}_{X,p}$-module. Because $(\mathfrak{m}_p)_p$ is a finitely generated $\mathcal{O}_{X,p}$-module, there exist global sections
\begin{align*}
g_1,\ldots,g_N \in \Gamma(X,\mathfrak{m}_p)
\end{align*}
such that their germs $(g_1)_p,\ldots,(g_N)_p$ generate $(\mathfrak{m}_p)_p$ over $\mathcal{O}_{X,p}$. Viewing each $g_j$ as a global holomorphic function on $X$, the definition of $\Gamma(X,\mathfrak{m}_p)$ gives
\begin{align*}
g_j \in \mathcal{O}(X)
\quad\text{and}\quad
g_j(p)=0
\end{align*}
for every $j \in \{1,\ldots,N\}$.
[guided]
We first convert the local problem at $p$ into a statement about a coherent sheaf. Let $\mathcal{O}_X$ be the sheaf of holomorphic functions on $X$. Define the ideal sheaf
\begin{align*}
\mathfrak{m}_p \subseteq \mathcal{O}_X
\end{align*}
by
\begin{align*}
\mathfrak{m}_p(U)
=
\begin{cases}
\{h \in \mathcal{O}_X(U) : h(p)=0\}, & p \in U,\\
\mathcal{O}_X(U), & p \notin U,
\end{cases}
\end{align*}
for every open set $U \subseteq X$. Thus a global section of $\mathfrak{m}_p$ is exactly a global holomorphic function on $X$ that vanishes at $p$.
The point set $\{p\}$ is a closed analytic subset of the complex manifold $X$. Therefore its ideal sheaf $\mathfrak{m}_p$ is coherent by the Coherence of Ideal Sheaves of Analytic Subsets. This is the hypothesis needed to use Cartan's Theorem A: on a Stein manifold, every coherent analytic sheaf is generated by its global sections at every stalk.
Applying Theorem A to the coherent sheaf $\mathfrak{m}_p$ on the Stein manifold $X$, we obtain that the stalk $(\mathfrak{m}_p)_p$ is generated over the local ring $\mathcal{O}_{X,p}$ by germs of global sections of $\mathfrak{m}_p$. Since coherent sheaves have finitely generated stalks, we may choose finitely many such global sections
\begin{align*}
g_1,\ldots,g_N \in \Gamma(X,\mathfrak{m}_p)
\end{align*}
whose germs $(g_1)_p,\ldots,(g_N)_p$ generate $(\mathfrak{m}_p)_p$ as an $\mathcal{O}_{X,p}$-module. Because these sections lie in $\Gamma(X,\mathfrak{m}_p)$, each $g_j$ is a global holomorphic function on $X$ and satisfies $g_j(p)=0$.
[/guided]
[/step]
[step:Pass from generators of the maximal ideal to generators of the cotangent space]
Let $\mathfrak{m}_{X,p} \subset \mathcal{O}_{X,p}$ denote the maximal ideal of germs of holomorphic functions vanishing at $p$. By the definition of $\mathfrak{m}_p$, the stalk $(\mathfrak{m}_p)_p$ equals $\mathfrak{m}_{X,p}$. Hence the germs $(g_1)_p,\ldots,(g_N)_p$ generate $\mathfrak{m}_{X,p}$ over $\mathcal{O}_{X,p}$.
Define the complex vector space
\begin{align*}
V := \mathfrak{m}_{X,p}/\mathfrak{m}_{X,p}^2.
\end{align*}
For each $j \in \{1,\ldots,N\}$, let
\begin{align*}
\overline{g}_j := (g_j)_p + \mathfrak{m}_{X,p}^2 \in V
\end{align*}
denote the class of the germ $(g_j)_p$ modulo $\mathfrak{m}_{X,p}^2$. Since $(g_1)_p,\ldots,(g_N)_p$ generate $\mathfrak{m}_{X,p}$ as an $\mathcal{O}_{X,p}$-module, their classes $\overline{g}_1,\ldots,\overline{g}_N$ span $V$ as a complex vector space.
By the standard cotangent-space identification for complex manifolds,
\begin{align*}
\delta_p: \mathfrak{m}_{X,p}/\mathfrak{m}_{X,p}^2 &\to T_p^*X,\\
h_p+\mathfrak{m}_{X,p}^2 &\mapsto dh(p),
\end{align*}
is a well-defined complex-linear isomorphism. Since $\dim_{\mathbb{C}}X=n$, the vector space $T_p^*X$ has complex dimension $n$, and therefore $V$ has complex dimension $n$.
[guided]
The stalk of $\mathfrak{m}_p$ at $p$ is the ordinary maximal ideal of the local analytic ring. We denote this maximal ideal by
\begin{align*}
\mathfrak{m}_{X,p} \subset \mathcal{O}_{X,p}.
\end{align*}
Its elements are precisely the germs at $p$ of holomorphic functions that vanish at $p$. Thus
\begin{align*}
(\mathfrak{m}_p)_p=\mathfrak{m}_{X,p}.
\end{align*}
The previous step therefore says that the germs $(g_1)_p,\ldots,(g_N)_p$ generate the maximal ideal $\mathfrak{m}_{X,p}$ over the local ring $\mathcal{O}_{X,p}$.
To extract first-order information, define
\begin{align*}
V := \mathfrak{m}_{X,p}/\mathfrak{m}_{X,p}^2.
\end{align*}
This quotient keeps the linear part of a germ and kills all terms of order at least two. For each $j \in \{1,\ldots,N\}$, define
\begin{align*}
\overline{g}_j := (g_j)_p + \mathfrak{m}_{X,p}^2 \in V.
\end{align*}
Because every element of $\mathfrak{m}_{X,p}$ is an $\mathcal{O}_{X,p}$-linear combination of the germs $(g_j)_p$, reducing modulo $\mathfrak{m}_{X,p}^2$ shows that every class in $V$ is a complex-linear combination of $\overline{g}_1,\ldots,\overline{g}_N$. Indeed, if
\begin{align*}
h_p=\sum_{j=1}^N a_j (g_j)_p
\end{align*}
with $a_j \in \mathcal{O}_{X,p}$, then modulo $\mathfrak{m}_{X,p}^2$ only the scalar values $a_j(p)$ contribute:
\begin{align*}
h_p+\mathfrak{m}_{X,p}^2
=
\sum_{j=1}^N a_j(p)\,\overline{g}_j.
\end{align*}
The terms $(a_j-a_j(p))(g_j)_p$ lie in $\mathfrak{m}_{X,p}^2$ because $a_j-a_j(p)\in \mathfrak{m}_{X,p}$ and $(g_j)_p\in \mathfrak{m}_{X,p}$.
Finally, we identify this quotient with the cotangent space. The standard cotangent-space isomorphism is
\begin{align*}
\delta_p: \mathfrak{m}_{X,p}/\mathfrak{m}_{X,p}^2 &\to T_p^*X,\\
h_p+\mathfrak{m}_{X,p}^2 &\mapsto dh(p).
\end{align*}
It is well-defined because a germ with zero first-order part has differential zero at $p$, and every cotangent vector is the differential of a local holomorphic coordinate combination. Since $X$ has complex dimension $n$, the cotangent space $T_p^*X$ has complex dimension $n$. Hence $V$ also has complex dimension $n$.
[/guided]
[/step]
[step:Select $n$ global functions whose differentials form a basis]
The vectors $\overline{g}_1,\ldots,\overline{g}_N$ span the $n$-dimensional complex vector space $V$. By elementary linear algebra, there exist indices
\begin{align*}
1 \leq j_1,\ldots,j_n \leq N
\end{align*}
such that
\begin{align*}
\overline{g}_{j_1},\ldots,\overline{g}_{j_n}
\end{align*}
form a basis of $V$. Define global holomorphic functions
\begin{align*}
f_k := g_{j_k} \in \mathcal{O}(X)
\end{align*}
for $k \in \{1,\ldots,n\}$. Since $\delta_p$ is a complex-linear isomorphism, the covectors
\begin{align*}
df_1(p),\ldots,df_n(p)
\end{align*}
form a basis of $T_p^*X$.
[/step]
[step:Apply the holomorphic inverse function theorem to the global map]
Define the holomorphic map
\begin{align*}
F: X &\to \mathbb{C}^n,\\
x &\mapsto (f_1(x),\ldots,f_n(x)).
\end{align*}
Its differential at $p$ is the complex-linear map
\begin{align*}
dF_p: T_pX &\to T_{F(p)}\mathbb{C}^n
\end{align*}
whose component covectors are $df_1(p),\ldots,df_n(p)$. Since these covectors form a basis of $T_p^*X$, the map $dF_p$ is an isomorphism of complex vector spaces.
By the Holomorphic Inverse Function Theorem, applied to the holomorphic map $F$ at the point $p$, there exist open neighbourhoods $U \subseteq X$ of $p$ and $W \subseteq \mathbb{C}^n$ of $F(p)$ such that
\begin{align*}
F|_U: U &\to W
\end{align*}
is a biholomorphism. Since $F|_U=(f_1,\ldots,f_n)|_U$, this proves that $(f_1,\ldots,f_n)$ restricts to a biholomorphism from a neighbourhood of $p$ onto an open subset of $\mathbb{C}^n$.
[/step]