В Python индексация строк начинается с нуля, потому что это связано со смещением от начала строки. 1
Если началом строки является первый символ, то указатель никуда смещать не надо, то есть смещение равно 0. 1 Поэтому и индекс первого символа равен 0. 1
Кроме того, использование нулевой индексации в Python связано с аналогией с функцией range(n), которая генерирует последовательность натуральных чисел от 0 до n - 1. 3