Are these good examples of functions that do one thing only or am I getting a little carried away?
I think you have definitely taken it in the right direction. Excellent work!

I don't see any compelling reason to break AssembleDailySheetName() down any further.

My only complaint is that I don't really like the separation of adding and naming the sheets. I see both steps as being part of creating a sheet. I think it would be nice to set the name of the sheet immediately after adding it (in the same function). That will likely eliminate some code as well. I suspect Sheets.Add may return the new sheet. If that's the case, there would be no need to look up the sheet by index to name it.