I am not a teacher here, but I was taught that there is no difference. We can use either. Much for uncountable, many for countable, mainly in questions and negations; a lot of, lots of for both in affirmative. But I have come across a lot of examples where 'much and many' are used in affirmative sentences. Good luck!
There is no difference in meaning, but there is a difference in formality. "A lot of" is informal and "lots of" is even more informal. "Much" and "many" are used in formal writing.