There was a historical variety of Spanish that pronounced the letters "b" and "v" differently, but there was an eventual shift in pronunciation that meant they weren't pronounced differently anymore. This is similar to how in a historical form of English there was a difference between the vowels in "meat" and "meet" which have now merged into one.
Although Spanish "b" and "v" are pronounced the same in most varieties of modern Spanish, they are not pronounced like the English letter "b" except in certain situations. It will be pronounced like the English letter "b" when the "b" or "v" is at the beginning of a word when someone begins to talk or when the "b" or "v" comes after an "m" or "n". Otherwise, the "b" and "v" make a sound that isn't normally pronounced in English. The sound is created by bringing your lips together like you are going to pronounce a "b", but you don't let your lips touch. If your lips are close but not touching it will make a buzzing sound that is similar to the English "v" but not by touching your bottom lip to your top teeth. Almost like you are humming through open lips. It should sound kind of like a "v" and kind of like a "b", hence the confusion. This is much closer to how the Spanish "b"/"v" [β] is pronounced.