I don’t think surface=boardwalk is useful either. In fact, it looks like it was probably intended to be bridge=boardwalk instead?
That is true. However, maybe surface=boardwalk+bridge=yes can be removed and replaced only with bridge=boardwalk without surface?
Update: although I see that many of them are not bridges at all so it wouldn’t help all that much… (e.g. they’re something like this or this which would probably be a stretch to call “a bridge”).
When there are just some wooden planks laid on the ground I also use surface=wood in addition to the appropriate highway=* tag. If it is a raised structure why not use brige=boardwalk instead of adding a bridge=yes tag?
Anyhow I have never come across surface=boardwalk so far and it does not make any sense to me. A boardwalk is a structure, not a surface.