Not necessarily. First easy reason for not migrating: the cost to do so outweighs the benefits. Why port working code to a new language when all you're doing is maintenance?
I don't know about you but its hard to sell upper managers on complete rewrites of things when the end result is: no real change but it might/should/could run faster. Unless performance is a concern to be addressed the risk of changing technology stacks doesn't seem a great idea.
You don't have to rewrite anything, the old language can still die. If you're writing all your new code in X and your codebase growth is accelerating, the existing code in Y will look less and less relevant over time.
I don't know about you but its hard to sell upper managers on complete rewrites of things when the end result is: no real change but it might/should/could run faster. Unless performance is a concern to be addressed the risk of changing technology stacks doesn't seem a great idea.