Are you a programmer?
Because your comment leads me to believe you're just a bystander, looking at a complex problem through innocent eyes. Refactoring the old code is never a simple task. They have to replace the old code with the new and improved one, without actually impacting the functionality of the old system. It has to work exactly the same but it also has to be accurate.
Since Riot has done this already by switching the old client with the new one (and new client is still in beta), until it's ready to truly replace the old client, Riot is not ready to devote resources to any other system that needs refactoring. It's going to be done at some point but not before the new client is out.
Tech dept is always going to be there. If Riot made a game that's going to last for years to come, whatever they've done in the past is bound to become obsolete at some point.
New technologies are being developed, new ways of doing things are being discovered constantly. The problem here is that if you let the tech dept accumulate, it's becoming increasingly more and more difficult to bring it down to acceptable levels as more and more work needs to be done behind the scenes. So it's also no longer a job for a few people, now you might as well need a department dealing with the said issue.
League's success exponentially grew and Riot did all they could to accommodate everyone.
The price here is that now it's apparent that a building being built on top of a weak foundation (that was constantly being patched up) is no longer able to support more floors. The trick now is to fix it from the inside, without destroying the building and evacuating all the residents. That's a pretty tough task to accomplish, but not an impossible one.
That's why it takes so much time.
They have a lot of spaghetti code to fix, which they are getting to and it's also hard work.