Using some Mathematica, we we let $h(m,n)$
be defined as 
$$
 h(m,n) = \max_{f : [n] \to [m] } | \mathrm{image}(f) |.
$$
For small combinations of $(m,n)$, we get the table
\begin{array}{cccccccc}
 2 & 2 & 2 & 2 & 2 & 2 & 2 & 2 \\
 2 & 4 & 4 & 4 & 4 & 4 & 4 & 4 \\
 2 & 4 & 7 & 8 & 8 & 8 & 8 & 8 \\
 2 & 4 & 7 & 11 & 13 & 14 & 15 & 16 \\
 2 & 4 & 7 & 11 & 16 & 19 & 21 & 23 \\
 2 & 4 & 7 & 11 & 16 & 22 & 26 & 29 \\
\end{array}
$$
The code used here is:

    cardSort[wrd_List] := Prepend[
       Union[Join @@ Table[
          Union[wrd[[i ;; j]]],
          {i, Length@wrd}, {j, i, Length@wrd}]]
       , {}];
    h2[m_, n_] := 
      h2[m, n] = Max@Table[Length@cardSort[w], {w, Tuples[Range[m], n]}];


OLD Answer: 
If we instead set
$$
 h'(m,n) = \max_{f : [n] \to [m] } | \mathrm{image}(f) |.
$$
where the we now map to $f$ to  the set of all contiguous substrings,
we get the table
$$
\begin{array}{cccccccc}
 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
 1 & 3 & 5 & 8 & 12 & 16 & 21 & 27 \\
 1 & 3 & 6 & 9 & 13 & 18 & 24 & 31 \\
 1 & 3 & 6 & 10 & 14 & 19 & 25 & 32 \\
 1 & 3 & 6 & 10 & 15 & 20 & 26 & 33 \\
\end{array}
$$
Some search in the OEIS suggests that we (almost always have)
$$
h'(m,n) = \text{Number of edges in $(m+1)$-partite Turán graph of order $n+1$.}
$$

The Mathematica code I used here is 

    card[wrd_List] := 
      Length@Union[
        Join @@ Table[wrd[[i ;; j]], {i, Length@wrd}, {j, i, Length@wrd}]];
    h[m_, n_] := h[m, n] = Max@Table[card[w], {w, Tuples[Range[m], n]}];