These are two different species of so-called thorny oysters (even though they are not closely related to actual oysters). The genus is Spondylus.
These can often be difficult to identify because the individual species are often quite variable in appearance, and quite similar to other species.
Best guesses (no guarantees): Spondylus squamosus Schreibers and Spondylus cruentus Lischke