Here is a proof (not the only one). This proof appeals to the fact that our hypothesis class is a subset of a linear hypothesis class of degree $n+1$.
Let $\cal{P}_n$ denote the set of all d-degree polynomials $p_n: \mathbb{R} \to \mathbb{R}$.
Define the hypothesis class as follows:
$$
\cal{H}_{P_n} := \{ f_n : f_d(x) = \textbf{sign}(p_n(x)), \quad x \in \mathbb{R},\quad p_n \in \cal{P}_n \}
$$
That is, $\cal{H}_{P_n}$ is the set of all d-degree classifiers.
We want to show that $VC(\cal{H}_{P_n}) = n + 1$. We will do so in two steps.
Step 1: Show that $VC(\cal{H}_{P_n}) \le n + 1$.
Proof: In this step, we are showing that $\cal{H}_{P_n}$ is a subset of the class of all linear classifiers $f_l:\mathbb{R}^{n+1} \to \mathbb{R}$.
That is, denote the class of all such linear classifiers as $\cal{H}_{l_{d+1}}:= \{f_l: f_l(x) = \textbf{sign}(\langle w, x \rangle), \quad w, x \in \mathbb{R}^{n+1}\}$. Take as given that $VC(\cal{H}_{l_{n+1}}) = n + 1$.
Then, notice we can write any polynomial $p_n$ as a dot product between a vector of constants $c \in \mathbb{R}^{n+1}$ and a basis vector $\phi(x) :=\{1, x, x^2, \dots, x^n\}$, that is: $p_d(x) = \langle w, \phi(x) \rangle$.
Then, we can see that a polynomial is a type of linear function in the space of $\phi(x)$. Hence, (and you might need to do some thinking here to convince yourself),
$$
\cal{H}_{P_n} \subset \cal{H}_{l_{n+1}}
$$
Since the VC dimension of a smaller class of functions is less than or equal to the VC dimension of a greater class of functions,
$$
VC(\cal{H}_{P_n}) \le VC(\cal{H}_{l_{n+1}}) = n +1
$$
Hence, $VC(\cal{H}_{P_n}) \le n + 1$.
Step 2: Show that $VC(\cal{H}_{P_n}) \ge n + 1$.
Proof: The idea of this step is to show that $\cal{H}_{P_n}$ shatters at least $n + 1$ points. In order words, we want to show that we can find a set of $n+1$ points $\{x_1, x_2,...,x_{n+1}\} \subset \mathbb{R}$ such that $\{(f_d(x_1), f_d(x_2),\dots, f_d(x_{n+1}) ): f_d\in \cal{H}_{P_n}\}=\{-1,1\}^{n+1}$. (In other words, we can produce any possible label vector $y\in \mathbb{R}^{n+1}$, $y_i \in \{-1,1\} \forall i \in [n+1]$, using functions from our hypothesis class $\cal{H}_{P_n}$).
Here, you can use Vandermonte's Matrix Theorem that says that the $(n+1)\times(n+1)$ matrix produced by making columns out of $\phi(x_i), i \in [n+1]$ is invertible if and only if the $x_i$'s are all distinct (no duplicates). Writing this explicitly:
$$
\begin{bmatrix}
\phi(x_1) & \dots & \phi(x_{n+1})\\
\downarrow & & \downarrow
\end{bmatrix}
= \begin{bmatrix}
1 & 1 & \dots & 1\\
x_1 & x_2 & \dots & x_{n+1}\\
x_1^2 & x_2^2 & \dots & x_{n+1}^2\\
\vdots & & \dots & \vdots\\
x_1^{n+1} & x_2^{n+1} & \dots & x_{n+1}^{n+1}\\
\end{bmatrix}
$$
That is to say, $\phi(x_1), \dots \phi(x_{n+1})$ are linearly independent, and since this is a square matrix, the rows are also linearly independent. Notice that the rows represent a single polynomial function when you pass a constant vector $c \in \mathbb{R}^{n+1}$. Therefore, the rows span $\mathbb{R}^{n+1}$. That is, for any point $v \in \mathbb{R}^{n+1}$, there exists a unique solution $w\in \mathbb{R}^{n+1}$ such that $w_0 + w_1 x_i + w_2 x_i^2 + \dots + w_n x_i^n = v_i, \quad \forall i \in [n+1]$.
Moreover, this is true for a label vector $y \in \mathbb{R}^{n+1}$. In other words, given a set of (distinct) points $\{x_1,\dots, x_{n+1}\}$ and associated (arbitrary) labels we can find weights $w \in \mathbb{R}^{n+1}$ to create a d-degree polynomial $p_d$ that perfectly interpolates each point $y_i \in \{-1,1\}, \forall i \in [n+1]$.
Hence, $\cal{H}_{P_n}$ shatters $n+1$ points. Therefore, $VC(\cal{H}_{P_n}) \ge n + 1$.
Step 3: Show $VC(\cal{H}_{P_n}) = n + 1$.
Proof: By steps 1 and 2, it follows that $VC(\cal{H}_{P_n}) = n + 1$.
q.e.d.