Most interpreted languages use a virtual machine internally, to speed up performance. This is achieved by having an internal compiler compile the code (usually with minimal optimization and maximum speed) and send it over to a VM to be executed. Usually the bytecode goes directly from the compiler to the VM to be executed, but some languages like Python cache the bytecode for repeated runs. Most famously, Java distinctly separates the compilation and execution phases, requiring you to compile and run separately.
Some languages, instead of using their own internal virtual machine, compile to target another virtual machine instead. Again, the Java Virtual Machine is the most famous example of this, with the most notable languages targeting it being Kotlin, Scala, Groovy, and Clojure. JVM is not the only one, with several languages compiling to Lua bytecode, and I've heard of a few compiling to Python bytecode.1
Languages targeting other language's VMs have to deal with ABI instability, lack of documentation (with the previous two points again not holding true for the JVM), and the fact that VMs are typically tailored to the source language. Given all that, why would you want to target another language's VM?
1Technically, the CLR and LLVM could fit here too, but they were designed for use with multiple languages