How to reduce noise in audio playback
sampling rate is 8kHz, ADC resolution is 10-bit and PWM frequency is
  25kHz


Are you trying to output 25kHz PWM but changing the PWM value every 8kHz cycle? That will be extremely choppy and the source of your noise.

To diagnose whether it's the input or the output that's the problem, try to capture a chunk of samples and export them to a PC for listening. If that's not too noisy, then you need to fix the output.

I suggest either increasing the PWM frequency a lot (250kHz at the least, ideally more like 1MHz), or changing to delta-sigma DAC, or R-2R, or (for best quality) an external DAC which you control over SPI or similar (example: http://www.analog.com/en/digital-to-analog-converters/da-converters/ad5611/products/product.html will cost you about $1).