First, let me give some terminology that I will use here:
Suppose that $E\subseteq\Bbb R,$ $x_0\in\Bbb R,$ and $f:E\to\Bbb R$ are given.
We will say that $x_0$ is $E$-supremal if $$x_0=\sup\{x\in E:x<x_0\},$$ and $E$-infimal if $$x_0=\inf\{x\in E:x>x_0\}.$$ Equivalently, $x_0$ is $E$-supremal if $E\cap(x_0-\delta,x_0)$ is non-empty for all $\delta>0,$ and $E$-infimal if $E\cap(x_0,x_0+\delta)$ is non-empty for all $\delta>0$. Note that $x_0$ is a limit point of $E$ iff $x_0$ is $E$-supremal and/or $E$-infimal. If $x_0\in E$, then $x_0$ is isolated in $E$ iff $x_0$ is neither $E$-supremal nor $E$-infimal.
If $x_0$ is a limit point of $E$ and $L\in\Bbb R$, we say that $L$ is the limit of $f(x)$ as $x$ approaches $x_0$--written $L=\lim_{x\to x_0}f(x)$--if for all $\epsilon>0$ there is some $\delta_\epsilon>0$ such that $|f(x)-L|<\epsilon$ whenever $x\in E$ and $0<|x-x_0|<\delta$. We say that $\lim_{x\to x_0}f(x)$ fails to exist if there is no such $L$, or if $x_0$ is not a limit point of $E$.
If $x_0$ is $E$-supremal and $L\in\Bbb R$, we say that $L$ is the limit of $f(x)$ as $x$ approaches $x_0$ from below--written $L=\lim_{x\to x_0^-}f(x)$--if for all $\epsilon>0$ there is some $\delta_\epsilon>0$ such that $|f(x)-L|<\epsilon$ whenever $x\in E\cap(x_0-\delta_\epsilon,x_0).$ We say that $\lim_{x\to x_0^-}f(x)$ fails to exist if there is no such $L$, or if $x_0$ is not $E$-supremal.
If $x_0$ is $E$-infimal and $L\in\Bbb R$, we say that $L$ is the limit of $f(x)$ as $x$ approaches $x_0$ from above--written $L=\lim_{x\to x_0^+}f(x)$--if for all $\epsilon>0$ there is some $\delta_\epsilon>0$ such that $|f(x)-L|<\epsilon$ whenever $x\in E\cap(x_0,x_0+\delta_\epsilon).$ We say that $\lim_{x\to x_0^+}f(x)$ fails to exist if there is no such $L$, or if $x_0$ is not $E$-infimal.
Now, suppose $x_0\in E$. Recall that $f$ is said to be continuous at $x_0$ iff for all $\epsilon>0$ there is some $\delta>0$ such that $|f(x)-f(x_0)|<\epsilon$ whenever $|x-x_0|<\delta.$ It can be shown that $f$ is continuous at $x_0$ iff either $x_0$ is isolated in $E,$ or $x_0$ is a limit point of $E$ and $f(x_0)=\lim_{x\to x_0}f(x).$ $f$ is said to be discontinuous at $x_0$ iff it is not continuous there--that is, iff there is some $\epsilon_0>0$ such that for all $\delta>0$ we have $|f(x)-f(x_0)|\ge\epsilon_0$ for some $x\in E$ with $0<|x-x_0|<\delta.$ Note that if $f$ is discontinuous at $x_0$, then $x_0$ is $E$-supremal and/or $E$-infimal (why?).
You should be able to prove the following:
Lemma: Suppose $E\subseteq\Bbb R,$ $x_0\in E,$ and $f:E\to\Bbb R$ are given, with $f$ discontinous at $x_0.$ Then exactly one of the following $5$ situations occurs:
(i) $x_0$ is $E$-supremal and $E$-infimal. There is some $L\in\Bbb R$ with $L\ne f(x_0)$ and $L=\lim_{x\to x_0}f(x).$
(ii) $x_0$ is $E$-supremal and not $E$-infimal. There is some $L\in\Bbb R$ with $L\ne f(x_0)$ and $L=\lim_{x\to x_0^-}f(x).$
(iii) $x_0$ is $E$-infimal and not $E$-supremal. There is some $L\in\Bbb R$ with $L\ne f(x_0)$ and $L=\lim_{x\to x_0^+}f(x).$
(iv) $x_0$ is $E$-supremal and $E$-infimal. There are some $L_1,L_2\in\Bbb R$ with $L_1\ne L_2$, $L_1=\lim_{x\to x_0^-}f(x),$ and $L_2=\lim_{x\to x_0^+}f(x).$
(v) $x_0$ is $E$-supremal but $\lim_{x\to x_0^-}f(x)$ fails to exist, and/or $x_0$ is $E$-infimal but $\lim_{x\to x_0^+}f(x)$ fails to exist.
We say that $f$ has a removable discontinuity at $x_0$ if (i) holds; that $f$ has an essential discontinuity at $x_0$ if (v) holds; that $f$ has a jump discontinuity at $x_0$ in the other three situations.
Now for the kicker: real-valued monotone functions on subsets of the reals can have only jump discontinuities, and can only have at most countably many of those.
Let me give you an idea of how to prove this. (Toward the end, I will use the fact that the rationals are countable and dense in the reals.)
Proof Idea: Suppose $E\subseteq\Bbb R,$ that $f:E\to\Bbb R$ is monotone function, and that $f$ is discontinuous at some point $x_0\in E$. (WLOG, suppose $f$ is nondecreasing. The proof when $f$ is nonincreasing will be similar.) By definition, then, there is some $\epsilon_0>0$ such that for all $\delta>0,$ there exists $x\in E$ where $0<|x-x_0|<\delta$ and $|f(x)-f(x_0)|\ge\epsilon_0.$ We must address three cases.
(Case 1): If $x_0$ is not $E$-supremal, then $x_0$ must be $E$-infimal since $f$ is discontinuous at $x_0$. Moreover, since $f$ is non-decreasing, we must have that $f(x)\ge f(x_0)+\epsilon_0$ for all $x\in E\cap(x_0,\infty),$ for otherwise, this would violate our choice of $\epsilon_0$. (Why?) Then $\{f(x):x\in E,x>x_0\}$ is a non-empty set bounded below by $f(x_0)+\epsilon_0,$ so since $f$ is nondecreasing then we can conclude (why?) that $$\lim_{x\to x_0^+}f(x)=\inf\{f(x):x\in E,x>x_0\}\ge f(x_0)+\epsilon_0>f(x_0).$$ Thus, we have a type (iii) discontinuity.
(Case 2): If $x_0$ is not $E$-infimal, then in a similar fashion to Case 1, we conclude that $x_0$ is $E$-supremal, that $\lim_{x\to x_0^-}f(x)$ exists and is at most $f(x_0)-\epsilon_0,$ meaning we have a type (ii) discontinuity.
(Case 3): If $x_0$ is both $E$-supremal and $E$-infimal, then since $f$ is nondecreasing, we can conclude that $$\lim_{x\to x_0^+}f(x)=\inf\{f(x):x\in E,x>x_0\}\ge f(x_0)$$ and likewise that $\lim_{x\to x_0^-}f(x)\le f(x_0).$ By our choice of $\epsilon_0$, we can show that these two limits cannot be equal, so we have a type (iv) discontinuity.
Thus, $f$ must have a jump discontinuity at $x_0.$
Now, let $Y$ be the union of the "gaps" in $\text{range}(f)$--more precisely: $$Y=\{y\in\Bbb R:\exists x_1,x_2\in E\text{ s.t. }f(x_1)<y<f(x_2),\text{ and }\exists a<y<b\text{ s.t. }(a,b)\cap\text{range}(f)=\emptyset\}.$$ Note that $Y$ is a union of pairwise disjoint open intervals, and is disjoint from $\text{range}(f)$. (Why?) Note further that if $f$ has a jump discontinuity at any point $x_0\in E$, then at least one (and at most two) of the component intervals of $Y$ has an endpoint at $f(x_0)$. (Why?) Thus, we readily have a one-to-one function from the set of discontinuities of $f$ into the set of component intervals of $Y$--in particular, say that for any given point of discontinuity $x_0$, we take $x_0$ to the component interval of $Y$ with $f(x_0)$ for an endpoint, and if we have a choice, take $x_0$ to the component interval of $Y$ whose lower endpoint is $f(x_0)$.
Now, let $\{q_n\}_{n\in\Bbb N}$ be any enumeration of the rationals, and note that for each component interval $J$ of $Y,$ there is some least $n$ such that $q_n\in J$--call this $n_J$ for each such $J$. Different components of $Y$ correspond to different $n_J$ (why?), so the function $J\mapsto n_J$ is a one-to-one function from the set of component intervals of $Y$ into the naturals, meaning that $Y$ has at most countably-many component intervals. Since we also have a one-to-one function from the set of discontinuities of $f$ into the set of component intervals of $Y$, then $f$ has at most countably-many discontinuities.
Best Answer
Suppose to the contrary that $f$ has a finite number $n$ of discontinuities, at $x_1, x_2, \ldots, x_n$. Then $\mathbb{R} - \{ x_1, \ldots, x_n \} $ is a union of open intervals $I_1, \ldots I_{n + 1}$. $f$ restricted to each $I_m$ is continuous and injective, and therefore monotone, so each image $f|_{I_m}(I_m)$ is an open (in $\mathbb{R}$) interval $J_m$. The $J_m$ are non-empty, pairwise disjoint and contained in $(0, \infty)$; suppose that $J_{m_1} < J_{m_2} < \ldots < J_{m_{n + 1}}$. Then between each $J_{m_p}$ and $J_{m_{p + 1}}$ there is at least one point, which must be the image of some $x_q$. But this exhausts all the $x$'s, so that $0$ is not in the image of $f$.