The JVM has plenty of non-blocking IO available - what do you think Play's support of it is built on top of? See Netty, for example.
With Akka you get most of the concurrency benefits you would get from a language like Erlang, but with the benefits of having access to the entire JVM ecosystem.