Usually I lay the blame at the feet of browsers, but in this case it is up to the screen readers to describe the controls. For
<select> the announcement on macOS makes sense because the native implementation is different than on Windows and functions more as a pop-up menu. I would not try to force a consistent announcement across screen readers, partly because you will break from platform defaults and potentially confuse users.
The differences with
<datalist> make a bit of sense when you consider that most screen readers are conveying it is just a text field, but with a bit more. So they announce similar to text fields.