This is not true. You can have second alerts for calendar events from multiple different calendars (as long as they support multiple alerts), not just "On My iPhone" calendar. I do this all the time, but you cannot do it as a default, they have to be set manually each time when creating the event. After you set the first alert time (e.g. 15 minutes before), then you can create a second alert time (e.g. 30 minutes before).
As a note, if you create the first alert for 30 minutes before, then the second alert for 15 minutes before, it switches them in order of the time of the alert. In this case, the 15 minute alert would become the first alert. It doesn't really matter, but it is nice that it keeps them in chronological order
Edit: corrected statement about "any" calendar in the beginning of the post