By default, `nice` is an external command:
$ command -v nice
/usr/bin/nice
This means it has no knowledge of aliases, which are a shell feature:
$ alias foo='echo hello'
$ foo
hello
$ nice foo
nice: foo: No such file or directory
However there is a feature of the shell that allows aliases to _also_ expand further aliases. You end the expansion with a space.
$ alias nice='/usr/bin/nice '
Spot that space at the end; it's important.
Now...
$ nice foo
hello
$ command -v nice
alias nice='/usr/bin/nice '
Any external command can be wrapped with an alias like this if you want the shell to do alias expansion.