Upvote:2
Cable Beach Resort in Broome should tick most of your boxes. However, being a 2.5 hour flight away from Perth, it's only "close" by WA standards. Busselton and other places around the Margaret River south of Perth are another option, but you're looking at a 2+ hour drive to get to them.
If you're looking something under an hour from Perth, there's a fair number of pretty decent beaches nearby as well, most famously Cottesloe. But these are all (more or less) "city" beaches, which may or may not be what you're looking for.