No necesitas el contador i
en absoluto.
Solo necesita incrementar la fecha actual en 1 en cada iteración.
#!/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