Why are programs that have dynamically typed languages usually interpreted rather than compiled?
In short: They go together like peas and carrots.
Compiling vs. interpreting and language typing are fundamentally separate concerns in that you can have all possible permutations. On the other hand, the "reason" for picking compiling and not picking dynamic typing for a language design are usually the same: performance. The "reason" for picking dynamic typing and interpretation are also somewhat related.
It's not a hard and fast rule. You can always mix 'em up. You can compile Perl and Lisp for example and interpret C.