For your first question in American English, we use both. If someone wanted to go to the beach then they would say, "Let's chill on the beach" versus someone who wants to go to a location near the beach they would say, "Let's chill by the beach." Does that make sense?
As for your second question both are correct the only difference is the location. Mostly because the beach isn't limited to being an ocean.
Hopefully I answered your questions:)