Cobol was perfectly capable of handling as many characters in a date as you cared to put there.
The problem was that the applications were written in a time where having two more digits in every date used up way too much of fairly limited storage. Now, that problem was fixed by the people who made computers and computer storage before I ever started coding.
But the bosses were not going to to pay their staff to fix that problem 20 or more years before it was going to be a problem.
That is where the idea of of we'll have a whole new language. The application code that had been written to not waste two extra digits in every date would all have to be rewritten any way, and certainly by that time, there would a need to also change the data format as well, and then we could fix the Y2K problem without having to get some C-level boss to pay for it.
I had a nice gig for a while fixing Y2K code, because the company I worked for had hired a crowd of the youngest Cobol programmers they could hire and just told them to fix it. And they tried, but it was a system with over 5,000 lines of code, all written by programmers who hadn't had any guidance either.
Now I knew some companies who decided to go the new language route. But there were still those C-level guys who wanted to save money, so the the new application code wasn't understood by anyone who understood the old applications.
I new one company who hired some consultants to install a new system, and make it work with all the modifications they had in their old system. They were just a few days before going live, when they realize that neither the people who wrote the new system, nor the consultants ever thought about saving the data on the computer. The form was just filled out and printed.