You're missing an ampersand after the "7:" string.
You can also use
Col = 2
For Cht = 1 to Charts.Count - 1 Step 2
Charts(cht).SetSourceData Source:=Range(Cells(7, Col), Cells(21, Col))
Charts(Cht + 1).SetSourceData Source:=Range(Cells24, Col), Cells(48, Col))
Col = Col + 1
Next Cht
There is no guarantee that Excel has the Chart(s) in the Charts Collection in the order you want.
Dim MyChartsInOrder As Collection
'Add Charts in the order desired, Column B pair, Column C pair. Colum D pair, etc
With MyChartsInOrder
.Add 'first chart that uses Column B
.Add 'next chart. that uses "B"
'Etc
End With