The Spartan program was funded by the Navy and so it was probably deemed appropriate that the Spartans be given a Navy rank. Now as for why the CM (the proper abbreviation for Master Chief, I know, I'm active duty Navy) is not made and officer is probably because he is more of a tool to be used than the brains. CM is the highest enlisted rank although there are actually higher ones that are basically desk jockeys.
The SeALs are a special program and their rules are a little different than the rest of the Navy. Officers and Enlisted can become SeALs but I do not know exactly how their chain of command works. To become a SeAL one must first have a rate or job one is qualified for like Boatswains mate to even qualify. Then you have to apply for the program and pass other physical qualifications. The Spartan program is a different in that it is an exclusive group that was chosen from childhood.