Rte 21 is very infrequent, but you don't have to take that. Just take any bus that leaves Ngong Ping (Po Lin Monastery), which is as late as 7:10pm on Route 23. And then get off at the intersection of Sam Wat Rd and Keung Shan Rd (just tell the bus driver you want to go to Tai O, it's only a few minutes down from Po Lin Monastery). Then switch to Rte 1, 11, or whatever bus that's heading to Tai O.
Buses from Tai O back to the Mui Wo ferry or Tung Chung MTR runs until 12:10/15am.
BTW, the road between Tung Chung and the rest of southern Lantau was closed due to mudslide a few days ago. Don't know if it's been reopened or not, or how it's affecting travel. And the taxi ride will take about 40-45 minutes from airport to Po Lin. I think 30 minutes is a little optimistic.