Derivative
returns derivative function, which you then pass it the variable. So I would do it like this (I am assuming you are trying to define fnm
to use for different functions.
G0 = Log;
fnm[fun_, n_] := Derivative[n][fun]
And now to use it
fnm[G0, 2][x]
(*-1/x^2*)
fnm[G0, n][x]
Derivative[n][Log][x]
%/.n->3
(*2/x^3*)
fnm[Sin, 3][x] (*etc....*)
If you just write fnm[G0, 2]
you'll get -(1/#1^2) &