As described in the Android SDK, months are indexed starting at 0. This means August is month 8, or index 7, thus giving you the correct result.
It is a simple matter of adding 1 to the index returned by the API to get the traditional one-indexed month.
Although this behavior may seem strange, it is consistent with the java.util.Calendar class (although it is not consistent with joda.time.DateTime).