You are retrieving the coordinates correctly. Google Earth requires all data to be EPSG:4326 - WGS84 Geographic. NOAA converts this data for the KML files however the shapefiles are in an esoteric projection which QGIS identifies as "Unknown datum based upon the Authalic Sphere - Projected" for the shapefiles on that page. The map halfway down the data download page you sent is probably in that projection.
Your options are:
- Download the KMZ, use python to unzip it, and parse the KML file inside using Python's built-in XML tools to extract the EPSG:4326 points.
- Figure out the math to do the transformation of the points yourself to whatever projection you need to work in. Pure Python but this will be difficult.
- Switch from using pure Python to using Fiona/Shapely to reproject the points.
- Go one level lower from Fiona/Shapely and use the GDAL/OGR Python bindings to reproject the points.
- Use GDAL/OGR command line tools called from Python to reproject the points.
Your project and environment restrictions plus your familiarity with these tools will determine which one of those options are best.
Based on the error you are getting on the pts.shp bbox, the problem is you're trying to get a bounding box on a single shape record which contains only one point. A bounding box would only work on shapefile types that have at least two points per record such as the line shapefile in this dataset. You can always get the bounding box at the file level on every shapefile type.