おっしゃるようにソフトウエア業界において これらの言葉の標準化はされていないと思います。
ですので会社によって、或いはSEによって定義はまちまちなのではないでしょうか。
さらに、一般社会での使われ方とソフトウエア業界(プログラミングの世界)での使われ方が異なる言葉なども割とあったりします。
例えば「変数」なんかその例です。
一般的には、未知の数や人物、対象を表す言葉としてx,y,zなどと使われます。ある人物Xとか、数学の変数Xの値を求めよみたいな。
でもソフトウエア業界(プログラミングの世界)では、データを一時的に記憶しておく領域として使われます。
参考までに私の考えですが、
1.修正
プログラムなどに不具合(バグ)があり、それを正しい動き(期待する動き)となるように変える事。
2.変更
プログラムの動きは当初期待していた(正しい)動きであるが、それらの動きを全く別の動きをするように、変える事。
※新たな機能を設けたり、或いは機能の制限をしたり、改良して更なるスピードアップを図ったり。
例えば、Windows7で動かないプログラムがあり、Windows7で動くようにした時に、
Windows7での動作を前提として開発したにも関わらず動作しなかったので動くようにしたのなら修正
Windows7での動作は前提としておらず、新しくOS(Windows7)が出たのでそれに対応するように動くようにしたのでしたらそれは変更というような感じです。
Windows7で動作できます、と言っておきながら実際は動かないとなると、それは不具合(バグ)ですので修正となりますが、開発当時はまだWindows7が世に出ていなく、WindowsVistaまでの対応として開発したプログラム(VistaまでのOSではきちんと正しく動作する)が、新しいOS(Windows7)が出たことによって新しいOSで動かないからと言って、それは不具合ではないですよね?それを動くようにしたのでしたらそれは修正ではなく変更という認識です。
あくまでも私の認識ですが。