Thank you very much CJ, Zerox, and Carson. You all have given me very valuable advices. After reading through all you said carefully, and then watching a couple of English TV programmes, I believe I can now tell the difference! The ending /z/ in most cases are much shorter, voiced but less audible than the hissing sound of the ending /s/. Now, I found out what's the problem. Those sound files I was listening to are from a pronouncing dictionary. And perhaps in trying to make them as clearly audible as possible, both the ending /s/ and ending /z/ are spoken very "clearly" and become unnatural.
For people like me that learn English as a second language, we are often influenced heavily by our mother tongue. This is like looking at something through a piece of tainted glass. In those aspects where our mother tongue has big differences with English, unless we are told the rules explicitly, we often never realize how people really say them in English just by listening. My mother tongue does not have any voiced consonants and consonant clusters, therefore, it is quite a challenge for me to learn how to pronounce a cluster of voiced consonants, such as /-ndz/, /-gz/, /zd/.
Again, thank you very much to you all. You really helped me a lot!
=======================
EDIT:
Let me summarize what I have learnt here plus a little that I have discovered myself.
1. Final voiced consonant (b, d, g, l, m, n, ng, r, v, voiced th) + s ---> /z/
2. Final voiceless consonant (f, k, p, t, voiceless th) + s ---> /s/
3. Final vowel + s ---> no rules, except when any of the following rules apply
4. Some words that can be used both as verb and noun/adjective ---> verb: /z/, noun or adjective: /s/
5. Words ending in -as, -is, -os, -us:
when the s is part of the word in its basic form (not plural or third party singular verb) ---> /s/
when the s is added to make it a plural or third party singluar verb ---> /z/
6. Words ending in -ces, -des, -oes, -shes, -ses, -zes ---> /z/
7. Words ending in -sis, -nce, -nse, -ss (including -less, ness), -sce ---> /s/
8. /z/ is more common than /s/ overall