Why does it sound like an American trying to speak Spanish, and not Spanish pronunciation?
Probably because that's how it's recorded in the voice file? Maybe they couldn't/didn't get a native speaker to do the job, hence the poor quality.
Here's what the espeak documentation has to say:
Help Needed
Many of these are just experimental attempts at these
languages, produced after a quick reading of the corresponding article
on wikipedia.org. They will need work or advice from native speakers
to improve them. Please contact me if you want to advise or assist
with these or other languages.
The sound of some phonemes may be poorly implemented, particularly [r]
since I'm English and therefore unable to make a "proper" [r] sound.
A major factor is the rhythm or cadance. An Italian speaker told me
the Italian voice improved from "difficult to understand" to "good" by
changing the relative length of stressed syllables. Identifying
unstressed function words in the xx_list file is also important to
make the speech flow well. See Adding or Improving a Language.
Also,
fi Finnish
This has had assistance from native speakers and should be usable.
fr French
This has been improved by a native speaker, and should be OK.
So my guess above was correct. While the page does state that "Spanish has good spelling rules, so it should be OK", that should clearly indicates some amount of doubt.
Basically it's Free and Open Source, so you either take what you get, help improve it if you can, or go buy commercial software that can provide far better voice files created with the help of native speakers.