Why do we set conditions f(n) ≥ n resp. f(n) ≥ log(n) the Time resp. Space Hierarchy?
A concise answer would be: To have enough time (resp. space) to do the diagonalization jobs.

Remember that both of these separation results are just using diagonalization techniques. In particular, to separate bigger time/space bound apart smaller time/space bound, one use the bigger bound (by just ONE machine) to diagonalize over all the possible smaller time/space-bounded machines.

And to do that, one needs to know when to finish (on each input) in case of time hierarchy, or where to prohibit the crossing (on each input) in case of space hirachy. This is possible only when the bigger bound is constructible. For time, constructibility at least requires $\geq n$. For space, constructibility at least requires $\geq log(n)$.



For full constructibility, it is not necessary to require any thing. But note that while constant functions are fully constructible (in time and space), functions in between like $log log(n)$, $log log log(n)$ (for space), $\sqrt{(n)}$, $n^{2/3}$ (for time) are not so. Informally, the spectrum of full constructibility is not continuous.

Lastly, one can even separate the notions of time constructibility by reasonable conjectures.