Other reasons:
- Spec - people dismiss Clojure because it is dynamically typed, without even checking out Spec. You can do things with Spec that most static type systems simply can't do. Also property based, generative testing derived from specs is so cool.
- Clojurescript. It is probably the most "production" ready alt-js language. I've used Coffescript, Typescript, Livescript, GorillaScript, IcedCoffescript, GHCJS, Babel, Traceur, looked into Purescript, Elm and ReasonML. Clojurescript today is truly the only practical choice.
- Stability. I don't know any other language ecosystem, where you can grab any old library, update a bunch of dependencies and still have a high chance for everything to work.
- Consistency. Clojure's standard library is pretty nice and predictable. Nothing can really compare to it, even Python's famous "batteries". Javascript doesn't even have standard library, instead you have to choose from lodash, immutablejs, folktale, rambda, crocks, sanctuary, fantasyland, etc. etc. Sometimes people keep them all in the same codebase. Because of that consistency in clojure.core functions, you can actually share code between front-end and back-end.
- JVM. People dismiss Clojure, because it is hosted on JVM, but they overlook the fact that JVM is very mature, extremely well-done piece of technology. Try deploying, maintaining and scaling nodejs clusters. It's not fun.
- Syntax. Do you know how big is the precedence table in Javascript? It's like over 25 items in it. Clojure doesn't have a precedence table. No need for it. Do you know how many things can be falsy in Javascript? Six. In Clojure - only two. Javascript has 64 reserved words. Clojure has none. This all makes things so much simpler.