A natural join is not by definition an inner join. It is by default, but it can also be a left/right outer join.
As there is no natural join condition in this case what you get is a Cartesian product, as expected.
Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
The natural join between students and instructors works because it is identical to the select statement in your orignal post. The natural join between students and classes does not work because you are qualifying the shared column branch with a specific table, once for the students table, and once for the classes table. Oracle doesn't allow that.