Firstly I think the idea of naming your child after his grandfather is adorable, very sweet and noble. Charles is a good strong classic name and Charlie is a cute nickname. Charlotte I prefer to Charles no offensive, it's such a beautiful classical name that ages well Lottie is a cute nickname too.
Middle names:-
Elizabeth meaning God is my vow. Charlotte Elizabeth
Grace meaning of course grace. Charlotte Grace
Rose meaning of course a rose. Charlotte Rose
Kate meaning pure girl. Charlotte Kate.
First names:-
Lyric meaning a lyric. Lyric Charlotte
Aria meaning beautiful melody. Aria Charlotte
Nicole meaning victory of the people. Nicole Charlotte
Faith meaning trusting in God. Faith Charlotte
Hope this helps, congrats and good luck!