No, there are many such functions. For convenience (to avoid writing $\mathbb{N}^+$ too much) my intervals will only consist of natural numbers, so I'll write $[a, b]$ to mean $\mathbb{N}^+ \cap [a, b]$ and $(a, b)$ to mean $\mathbb{N}^+ \cap (a, b)$ below.
Consider any $f$ defined as follows: first let $f(1) = 1$ and $f(n) = n^{13}$ for $n$ of the form $n = 2^{13^k}$ ($k \geq 0$), so clearly $f$ satisfies the functional equation for $n = 1, 2^{13^k}$. We'll now inductively define $f$ on $A_k = [2^{13^k}, 2^{13^{k+1}}]$ for each $k \geq 0$, so that $f$ is strictly increasing on $A_k$. Note that since we already have $f(2^{13^k}) = 2^{13^{k+1}}$ and $f(2^{13^{k+1}}) = 2^{13^{k+2}}$, $f$ being strictly increasing will imply $f^{-1}(A_{k+1}) = A_k$.
First, for $k = 0, 1$, let $f|(2^{13^k}, 2^{13^{k+1}})$ be any strictly increasing function from $(2^{13^k}, 2^{13^{k+1}})$ to $(2^{13^{k+1}}, 2^{13^{k+2}})$ (where there is at least one such function since the second set is larger than the first), so clearly $f$ is increasing on $[2^{13^k}, 2^{13^{k+1}}] = A_k$.
Now let $k \geq 2$. Assume we've defined $f$ on $A_0, \dots, A_{k-1}$, hence on all $n \leq 2^{13^k}$. We define $f$ on $A_k$ in two steps. First, to ensure that $f$ satisfies the functional equation, we only need to correctly set the values of $f(f(f(n)))$, i.e. to correctly set the values of $f(a)$ for $a$ in the image of $f^2$. Since our $f$ will satisfy $f^{-1}(A_{i+1}) = A_i$ for each $i$, the image of $f^2$ in $A_k$ will be exactly $f(f(A_{k-2}))$; we already know these points since we've defined $f$ on $A_{k-2}$ and $A_{k-1}$. Second, since the definition in the first step will actually guarantee that $f$ is strictly increasing on the image of $f^2$, to make $f$ strictly increasing on all of $A_k$ we only need check that that there's enough room to assign $f$-values to the remaining points.
Step 1: Defining $f$ on $f(f(A_{k-2}))$. Write $f(f(A_{k-2})) = \{a_0, \dots, a_r\}$ where $a_0 < a_1 < \cdots < a_r$, so in particular since $f(f(2^{13^{k-2}})) = 2^{13^k}$ and $f(f(2^{13^{k-1}})) = 2^{13^{k+1}}$ we have $a_0 = 2^{13^k}$ and $a_r = 2^{13^{k+1}}$. For each $a_i$ we have $a_i = f(f(m_i))$ for some $m_i \in A_{k-2}$, hence for $0 < i < r$ we define
$$f(a_i) := f(f(m_i)) f(m_i) m_i^{2015} = a_i f(m_i) m_i^{2015}$$
by necessity (to satisfy the functional equation), where this already holds for $i = 0, r$. Note that $m_0 < m_2 < \cdots < m_r$ since $f^2$ is strictly increasing on $A_{k-2}$.
Step 2: Defining $f$ on $A_k \setminus f(f(A_{k-2}))$. Having now defined all $f(a_i)$, we define $f$ on each $(a_i, a_{i+1})$ to be any strictly increasing function $(a_i, a_{i+1}) \to (f(a_i), f(a_{i+1}))$. There is more than one such function since
\begin{align*}
f(a_{i+1}) - f(a_i)
&= a_{i+1} f(m_{i+1}) m_{i+1}^{2015} - a_i f(m_i) m_i^{2015} \\
&> (a_{i+1} - a_i) f(m_i) m_i^{2015} \\
&> a_{i+1} - a_i
\end{align*}
which means $|(f(a_i), f(a_{i+1}))| > |(a_i, a_{i+1})|$. $f$ is now defined and strictly increasing on each $[a_i, a_{i+1}]$, so it's defined and strictly increasing on $[a_0, a_r] = A_k$.
After the induction, we've defined an $f$ which is strictly increasing on each $A_k$, hence strictly increasing on all of $\mathbb{N}^+$. The functional equation holds, since for any $n \neq 1$, we have $n \in A_k$ for some $k$, hence by our definition of $f$ at $f(f(n)) \in A_{k+2}$, $f$ satisfies the functional equation at $n$. To conclude, note that for each $k$ we made at least one choice (since $|A_k| > |A_{k-2}|$, so the set $A_k \setminus f(f(A_{k-2}))$ is nonempty). This means there are uncountably many (at least $|2^{\mathbb{N}}|$) functions $f$ which can be constructed this way, each of which is strictly increasing and satisfies the functional equation.