The animation is applied after a hover with the same duration, even if the process was half way done. This results in a slower speed on the marquee until the next animation loop.
Replace...
animation = obj.animate({left: '-'+goto+'px'},settings.speed,'linear',function(){
with...
var animationProcess = 1 + ( obj.position().left / goto);
animation = obj.animate({left: '-'+goto+'px'},settings.speed * animationProcess,'linear',function(){
...to fix the issue.