A DAC (digital-to-analog converter).
An amplifier to drive the speaker.
2)ethernet shield for the SD functionality
What? Is that for an SD card to hold the MP3 files? What's that got to do with Ethernet? (You WILL need additional memory to store the MP3s.)
I have no idea if the Arduino is fast-enough to decode MP3s or fast-enough to run Ethernet and decode MP3s at the same time. I believe the MP3 decoding is normally done by a decoder chip on the shield.
MP3 decoding is usually done with an external chip, whose supplier has a license for the MP3 decoding software.
Example http://www.vlsi.fi/en/products/vs1053.html
Pretty sure you can't get a SRAM limited Atmega chip do all that.
You can have one control an MP3 module with simple Serial.write commands, such as these: