Thanks to @stilllifemuseum and @1minManager for your suggestions.
I had played around with Column Width settings and the only noticeable change is to the width of the first column, the Yes/No columns stay the same width with the truncated headings. I did make sure to Save and Verify after each change which was another tip I found on here, but still it was only the first column which appeared to change.
I did also try adding a load of dashes after the column name through Display Name, but again that made no difference. I guess that it is already truncating a column heading which is ‘too long’ and therefore making it longer doesn’t help.
I don’t know if this is something specific to Yes/No columns, but obviously the data in such columns technically requires the least amount of space, so if widths are adjusting based on data alone, then I might be stuck with useless headings.