Debe configurar la zona horaria en UTC cuando use DateFormat para analizar cadenas de fechas.
Alternativamente, puede usar Instant en Java 8.
He mostrado ambos ejemplos.
endDate usando dateFormatter con la zona horaria establecida en UTC
startDate usando Instant
Algo como
DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS\'Z\'");
dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Date startDate,endDate;
startDate = Date.from(Instant.parse("2017-10-06T00:00:00.000Z"));
endDate = dateFormatter.parse("2017-10-07T23:00:00.000Z");