That's simply because both Bandel and Naihati are important junctions too. The whole Nadia district and Katwa subdivision of Purba Bardhaman are dependent on these two stations. Had they not been such important junctions, they wouldn't have recieved halts of any long distance train. For instance, just look at Barrackpore or Shrirampur. They are way more important and bigger cities than Bandel but still they dont get halts of the long distance trains.
Dakshineswar, on the other hand, serves only a few localities of Kolkata like Baranagar and Dunlop. On top of that, Dakshineswar has metro connectivity which makes transport way more easier than the other aforesaid stations.