Você não precisa do contador i
de maneira alguma.
Você só precisa incrementar a data atual em 1 em cada iteração.
#!/bin/bash
thedate="2018-03-28"
enddate="2018-04-02"
while [ "$thedate" != "$enddate" ]; do
thedate=$( date -d "$thedate + 1 days" +%F )
new_date=$( date -d "$thedate " +%Y%m%d )
printf 'The date is "%s"\n' "$new_date"
done