I know debugging and bug fixing are related and generally, bug fixing is considered as a subset of debugging (for example here in Wikipedia, "The process of finding and fixing bugs is termed "debugging"), but I wonder wether these two terms can be used instead of each other?
If you want to be specific, debugging usually refers to the process of finding bugs, while bug fixing refers to making some change to code or otherwise that fixes the bug.
A software tool called a "debugger" does not usually make any changes to the code, or directly facilitate you making those changes. It may offer the ability to change values in memory or program state, but not the "persistent" source of the program.
What does it matter? If you need to be clear whether you are investigating a cause or fixing behavior, then make the distinction that way. There's enough ambiguity between "bug fixing" and "debugging" that the average lay person might have different expectations than what you mean.
If you need to draw a distinction than use unambiguous words to mean what you intend. As it is, there isn't enough difference between the two terms to truly care. Bugs are bad, and they should be eliminated. You just need to decide if the bug is bad enough to hold up a release or if one bug is worse than another when scheduling fixes.
Debugging literally means taking out bugs: de + bug, just like desalination is removal of salt or deodorization is the removal of smell.
However, the word is also used in connection with tools, states and activities which assist in the identification of bugs, without perpetrating any removal:
debug print statement
debug build; debug log/trace; debug mode; debug flag
In none of these usages could we replace the word debug with bugfix. It would either result in nonsense, or an altered interpretation. Therefore, this is a separate meaning which does not mean "fix bugs" but rather "contribute to finding an explanation for hard-to-understand and possibly defective system behaviors".
E.g. a "bugfix mode" would be some state of operation of correcting bugs whereas we understand that "debug mode" is some system's state in which it produces detailed diagnostics for better understanding of its internal operations. Nobody says "let's enable bugfixing and rerun the test, to see if we can get more information about the behavior".