In my view, constructive uncountability of the reals relies on countable choice only indirectly.
Generally speaking, countable choice is mostly needed in situations where we prefer to keep our objects slightly generic, to help our 'bookkeeping' remain light.
But if we define the reals numbers a bit more precise, as is common practice for instance in intuitionistic mathematics INT, then uncountability follows without choice (or from unique choice, whichever view you prefer).
To see this, take the following
Definition of the explicit reals:
A sequence $x=[l_0,r_0],[l_1,r_1],\ldots$ of binary rational intervals is an explicit real number iff for all $n\in\mathbb{N}$ we have
$r_n, l_n\in 2^{-n}\cdot\mathbb{Z}$
$r_n-l_n=2^{-n+1}$
$[l_{n+1},r_{n+1}]\subset[l_n,r_n]$
This definition can be a bit cumbersome, for instance when multiplying explicit real numbers, because it forces one to specify any real number with a strict convergence rate.
And, given a Cauchy sequence of rationals $c$ which has no explicit modulus of convergence, one needs countable choice to see that $c$ is Cauchy-equivalent to an explicit real number. This is in my opinion the indirect reason why countable choice is 'necessary' to prove uncountability of the real numbers (given by the Cauchy-sequence definition).
The other way round is choice-unproblematic: any explicit real $x$ determines a unique Cauchy-sequence of rationals, just take the left end points $(l_n)_{n\in\mathbb{N}}$.
Now the explicit real numbers are easily seen to be uncountable without using choice, through a simple diagonal argument.
Proposition (without choice): the explicit reals are uncountable.
proof Let $x_0, x_1,\ldots$ be a sequence of explicit reals. Then we can construct an explicit real $y=[s_0,t_0],[s_1,t_1],\ldots$ such that $y\# x_n$ for all $n\in\mathbb{N}$.
To see this, firstly we put $s_0=0, t_0=2$.
Next, suppose that for given $n$, the left and right end points $s_{2i+1}, t_{2i+1}, s_{2i+2}, t_{2i+2}$ have been defined for all $i< n$, such that moreover $[s_{2i+2}, t_{2i+2}]\ \#\ x_i$.
We now consider the left and right end points of $(x_n)_{2n+2}$, which is the $2n\!+\!2$ -th binary interval of the sequence $x_n$. Call those end points $u_{2n+2}, v_{2n+2}$ respectively, then $v_{2n+2}-u_{2n+2}=2^{-2n-1}$ since $x_n$ is an explicit real.
Since $t_{2n}-s_{2n}=2^{-2n+1}$, there are a unique smallest binary rational $q\in 2^{-2n-2}\cdot\mathbb{Z}$ and a subsequent unique smallest binary rational $r\in 2^{-2n-1}\cdot\mathbb{Z}$ such that
(i) $[q,q+2^{-2n-1}]\subset [s_{2n}, t_{2n}]$
(ii) $[q,q+2^{-2n-1}]\ \# \ [u_{2n+2}, v_{2n+2}]$
(iii) $[q,q+2^{-2n-1}]\subset [r,r+2^{-2n}]\subset [s_{2n}, t_{2n}]$
We can now define $s_{2n+1}=r, t_{2n+1}=r+2^{-2n}$ and $s_{2n+2}=q, t_{2n+2}=q+2^{-2n-1}$.
We leave it to the reader to verify that $y=[s_0,t_0],[s_1,t_1],\ldots$ is a well-defined explicit real number such that $y\# x_n$ for all $n\in\mathbb{N}$.
In slightly more general phrasing we therefore find:
Corollary (without choice): The set of real numbers $\mathbb{R}$ contains an uncountable subset.