Since your parameter  `i` in `Button` is outside `Table` (because of the `HoldRest` attribute of `Button`), it is not a number anymore. However you could do e.g. this :

    Button["Number: " <> ToString @ #, Print @ #] & /@ Range[5]

If there is a need for `i` parameter one can do this :

    Button["Number: " <> ToString @ #, Print @ # ] & /@ Table[i, {i, 5}]