The cardinality is at least that of the continuum because every real number corresponds to a constant function. The cardinality is at most that of the continuum because the set of real continuous functions injects into the sequence space $\mathbb R^N$ by mapping each continuous function to its values on all the rational points. Since the rational points are dense, this determines the function.
The Schroeder-Bernstein theorem now implies the cardinality is precisely that of the continuum.
Note that then the set of sequences of reals is also of the same cardinality as the reals. This is because if we have a sequence of binary representations $.a_1a_2..., .b_1b_2..., .c_1c_2...$, we can splice them together via $.a_1 b_1 a_2 c_1 b_2 a_3...$ so that a sequence of reals can be encoded by one real number.
All you need is a few basics of cardinal arithmetic: if $\kappa$ and $\lambda$ are cardinals, none of them zero, and at least one of them is infinite, then $\kappa+\lambda = \kappa\lambda = \max\{\kappa,\lambda\}$. And cardinal exponentiation satisfies some of the same laws as regular exponentiation; in particular, $(\kappa^{\lambda})^{\nu} = \kappa^{\lambda\nu}$.
The cardinality of the set of all real functions is then
$$|\mathbb{R}|^{|\mathbb{R}|} =\mathfrak{c}^{\mathfrak{c}} = (2^{\aleph_0})^{2^{\aleph_0}} = 2^{\aleph_02^{\aleph_0}} = 2^{2^{\aleph_0}} = 2^{\mathfrak{c}}.$$
In other words, it is equal to the cardinality of the power set of $\mathbb{R}$.
With a few extra facts, you can get more. In general, if $\kappa$ is an infinite cardinal, and $2\leq\lambda\leq\kappa$, then $\lambda^{\kappa}=2^{\kappa}$. This follows because:
$$2^{\kappa} \leq \lambda^{\kappa} \leq (2^{\lambda})^{\kappa} = 2^{\lambda\kappa} = 2^{\kappa},$$
so you get equality throughout. The extra information you need for this is to know that if $\kappa$, $\lambda$, and $\nu$ are nonzero cardinals, $\kappa\leq\lambda$, then $\kappa^{\nu}\leq \lambda^{\nu}$.
In particular, for any infinite cardinal $\kappa$ you have $\kappa^{\kappa} = 2^{\kappa}$.
Best Answer
There are only $|\Bbb R|=2^\omega$ such functions.
Let $\varphi:\Bbb Q\to\Bbb R$ be non-decreasing. There are only $|\Bbb R|^{|\Bbb Q|}=\left(2^\omega\right)^\omega=2^\omega$ functions from $\Bbb Q$ to $\Bbb R$, and it’s easy to see that there are at least $|\Bbb R|=2^\omega$that are non-decreasing, so there are $2^\omega$ such functions $\varphi$. If $f:\Bbb R\to\Bbb R$ is non-decreasing, then $f\upharpoonright\Bbb Q$ is one of these $2^\omega$ functions, so we’d like to know how many non-decreasing functions from $\Bbb R$ to $\Bbb R$ restrict to a given non-decreasing $\varphi:\Bbb Q\to\Bbb R$.
Let $\varphi:\Bbb Q\to\Bbb R$ be non-decreasing, and suppose that $f:\Bbb R\to\Bbb R$ is non-decreasing and restricts to $\varphi$ on $\Bbb Q$. For each irrational $x$ let
$$\varphi^-(x)=\sup_{q\in\Bbb Q\cap(\leftarrow,x)}\varphi(q)$$
and
$$\varphi^+(x)=\inf_{q\in\Bbb Q\cap(x,\to)}\varphi(q)\;;$$
then $\varphi^-(x)\le f(x)\le \varphi^+(x)$. If $\varphi^-(x)=\varphi^+(x)$, then there is only one way to define $f(x)$. Otherwise, there are $\left|\big[\varphi^-(x),\varphi^+(x)\big]\right|=2^\omega$ choices for $f(x)$.
Let $$C=\left\{x\in\Bbb R\setminus\Bbb Q:\big(\varphi^-(x),\varphi^+(x)\big)\ne\varnothing\right\}\;;$$ the intervals $\big(\varphi^-(x),\varphi^+(x)\big)$ for $x\in C$ are pairwise disjoint, so there are at most countably many of them. Thus, $f(x)$ is completely determined by $\varphi$ except on the countable set $C$, and for each $x\in C$ there are $2^\omega$ possible values for $f(x)$, so there are at most $\left(2^\omega\right)^\omega=2^\omega$ possible non-decreasing functions $f:\Bbb R\to\Bbb R$ such that $f\upharpoonright\Bbb Q=\varphi$.
Putting the pieces together, we see that there are at most $2^\omega\cdot2^\omega=2^\omega$ non-decreasing functions $f:\Bbb R\to\Bbb R$, and the constant functions already show that there are at least that many.