Several things...
1) The shader is most likely not setup properly to use flat surfaces so the normals are interpolated; causing the lighting to be incorrect.
2) That normal mapping shader uses per-vertex lighting (as most do) not per-pixel. Therefore the lighting will be interpolated between vertices's. I've made a per-pixel normal mapping shader which I can upload upon request; but PPNM is dead slow...
3) Specularity: The reflectiveness of a surface. Do not make everything all "glossy". You can use the alpha channel of the normal map for controlling this.