[i] * I had too many things to do that I couldn’t finish them all
[ii] I had so many things to do that I couldn’t finish them all
There is a grammatical explanation for "so" being correct and not "too". The clause in bold is a delayed complement. It's called 'delayed' because it does not immediately follow the element that licenses it, but is 'delayed' to the end of the sentence (the matrix clause). In your example [ii], the delayed complement is licensed by the adverb "so" that modifies "many things". But "too" cannot licence a that clause complement in a construction like this, which is why [i] is ungrammatical.
You can tell that it's "so" that licenses the complement because if we drop it, the sentence becomes ungrammatical (* I had many things to do that I couldn’t finish them all).