The problem is that you don't understand how the game figures out your Pokemon's stats.
Each time your Pokemon gains a level, its stats are completely recalculated. EVs are one of the factors that go into calculating your Pokemon's stats. The "+14" is from the game showing you the difference between what your Pokemon's stat was before, and what it is now after the recalculation. The difference is big on this occasion, because Gyarados has all these EVs it didn't have before.
The next time it levelled up, Gyarados got +3. This is because there is no longer a big difference between Gyarados' EVs from its old stat total, and its EVs from its recalculated stat total. The EVs are already there.
As you continue to level up Gyarados, all the EVs you trained will continue to be included in the calculation. This will lead to higher stat gains in general, compared to if you hadn't EV trained Gyarados. However, you will never see +14 again (and you don't need to), because there will never again be such a large difference in Gyarados' EVs between level gains.
In other words, the work is already done. You have nothing to worry about and you've done nothing wrong. If you maxed out its Attack EVs, then your Gyarados will have its best possible Attack stat at whatever level it happens to be at.