Например, так:
banners = ['banner1', 'banner2', 'banner3']
posts = ['post1', 'post2', 'post3', 'post4', 'post5', 'post6', 'post7', 'post8']
banner_step = 2
for index, post in enumerate(posts):
print(post)
if (index+1) % banner_step == 0 and banners:
print(banners.pop(0))
Вывод будет таким:
post1
post2
banner1
post3
post4
banner2
post5
post6
banner3
post7
post8
Только нужно учесть, что после каждой команды
banners.pop(0) список banners будет уменьшаться. Если нужно сохранить исходный список, то необходимо будет сделать копию данного списка и уже в нём делать
.pop(0)