Do I need hook_update_N if there are no database changes?
If the changes are just code, (not db schema changes, content changes, variable changes, data changes in general), then you don't need an update hook, no.

Basic rule of thumb: will your code updates break anything for existing or new users? If not, you don't need an update hook.