Hmm, speed dials are Speed Dial Key plus three numbers. Still equals four buttons pressed.
Just a guess, not knowing exactly what you have…
If you are using phantoms to dial your “speed dial” numbers, those calls originating off-node are being routed over your data network to the node where those phantoms reside, and placed using the local trunks there. Depending on the quality of your network, the echo could be originating there.
If those calls are placed using analog trunks, the conversion from VoIP to analog can produce an echo. Using G.729 compression can make marginal audio sound even worse.
Is the echo problem occurring just off-node calls, with local calls sounding okay?