Hi, I'd like to give you an ingenuous aswer. They are so similar that they cannot be distinguished. They both work as adjectives (agree in genre and nu+mber ending in o/i -- a/e) and as Adverbs (tanto, molto)
But , tanto comes from the Latin tantus and holds some an "absolute" meaning, whereas "molto" still can be compared with something which is even "more" than that
Tanto corresponds to "so much"
Molto corresponds to "(very) much"
So no one says: Ti amo "molto" (I love you "very much") because this implies that you can love someone "more" and this is not SO MUCH pleasant to hear
Infact you will say "Ti amo TANTO" I love you SO much, meaning that we do not mean to make comparisons, it is absolute