Не изменяйте списки, которые вы итерируете!
Вместо этого сделайте что-то вроде:
for square in squares[:]:
, чтобы вы повторяли копию списка, пока все еще изменяя оригинал.
Замените точки только базовым именем файла, а не полным именем, затем добавьте расширение и переименуйте.
sName = Replace(fso.GetBaseName(fil.Name), ".", "_")
fil.Name = sName & "." & fso.GetExtensionName(fil.Name)