A 20-year-old man has been charged after a well-known Labor Party figure was allegedly assaulted in Perth’s CBD, leaving him fighting for life.