Found the answer in the Alan Dean Foster novelization (all quotes form there unless otherwise stated).
Not everyone understands BB-8. Finn does not. So it's plausible that Rey - being mechanically gifted scavenger - learned Binary (UPDATE: TFA Visual Dictionary Data explicitly includes a snippet that Rey had contact with off-worlders and learned Binary from them).
“Okay, look—we have to know the location of the Resistance base. You
heard Rey. She thinks she can get us there—but you have to tell us
where it is.” The droid emitted a flurry of rapid, soft beeps. An
impatient Finn waved them off.
“I don’t speak that, but I think I got the gist. You just accused me
of not being with the Resistance, didn’t you?”
This theory is confirmed kinda, because Chewie can talk to BB-8:
Striding effortlessly alongside, Chewbacca groaned assent. Behind
Finn, BB-8 beeped a question to which the Wookiee readily replied.
Droid and Wookiee then entered into a rapid-fire conversation, the
sound of which made Finn’s head hurt.
Obviously, Poe - who was a pilot with BB-8 as his astromech, was a good candidate to understand him. Yep.
“I wasn’t dead, just momentarily out of it,” the pilot explained.
“Came around long enough to see that you had got out. Pulled out of
the dive just long enough to set down—hard. Impact threw me clear.
Woke up at night; no you, no ship, no nothing. Went looking—in the
wrong direction. Got picked up by some itinerant trader.” He grinned.
“Tell you all about it sometime.” A plaintive beep caused him to
turn and look down. “Beebee-Ate says that you saved him.”
However, we know that almost nobody understands R2-D2: Luke barely does (he needs X-Wing translation in canon); Leia doesn’t understand R2-D2 in TFA either (and neither, seemingly, does Poe who translates for BB-8 but not R2-D2, who needs C-3PO’s translation)
An excited Leia moved closer. Of all the organics in the room, no one
had a more personal relationship to the little droid than she did.
“What’s he saying?” she asked.
The protocol droid explained. “If the information you are seeking was in the Imperial archives, he believes he may have cataloged that
data. He’s scanning through it now.”
Rey stared at the diminutive droid. “Artoo has the rest of the map?”
“He’s certainly implying the possibility!” C-3PO told her. “I’ve never
heard him beep with this much energy before.”
Emitting a long, sustained whistle, R2-D2 projected a full
three-dimensional image of a huge navigational star chart. No one in
the room could fail to notice that it was missing a substantial
fragment. In response to the hovering image, BB-8 began beeping
excitedly. “Yeah, buddy, hold on,” Poe told him. “I have it.”
Now, this all doesn’t explain the how.
However, we know from novelization that BB-8 spoke DIFFERENT droid languages - perhaps one variant was more understandable to organics?
In the dark, dusty storeroom he rolled over to the R2 unit and beeped
a greeting, the transmission sequence too rapid and too exhaustive for
any human to follow. It didn’t matter. There was no response from the
immobile R2 unit.
BB-8 tried again, utilizing a different droid language. When that also failed, he moved forward and gave the other mechanical a forceful
nudge. Like everything else, that too failed to generate a response.
We also know that his primary language is related to standard Binary but is a more evolved generation of it, which may go a long way to explaining why many people understand it.
27th generation droid-speak code, a compressed variant of the most common astromech language (source: TFA Visual Dictionary, or SFF.SE)