Internally, questions that are locked for historical significance receive a different kind of lock from questions locked for any other reason (this includes manual locks, locks as merge or migration stubs or rejected migrations, and locks as spam or rude/abusive). In fact, the system uses a different term, "frozen", to refer to historically-locked questions, while the term "locked" is used for other types of locks.
As far as historically-locked questions not showing the option to flag, this was an intentional decision documented here. Basically, these types of posts tend to get lots of frivolous flags, which is not intended since they are historical artifacts. (If there is a serious problem with a historically-locked post, the official way to bring it up is through a post on the per-site meta.)
So, then, why allow flags on posts locked for other reasons ("locked" but not "frozen" posts)? Well, most locked posts are locked either as stubs of some sort (merge, migration, or rejected migration) or as spam or rude/abusive posts (those posts are also deleted at the same time as part of the red-flag deletion process). The incidence of frivolous flags on those types of posts tends to be much lower, and there are valid reasons for flagging them (e.g. a bad spam-deletion where the spam flags should be cleared, a merge stub that uses a tag that is being cleaned up as part of a community process, etc.).
The rationale for hiding the vote buttons only on frozen posts and not also locked posts has more to do with manual locks rather than automatic ones described in the above paragraph. Users don't generally see automatically locked posts, because they are either deleted (as spam or rude/abusive) or redirect to a different post (for merge and migration stubs). If you look at the reasons for locking posts, you'll see that the historical significance lock reason is the only reason that has to do with the question scope itself - the other reasons (e.g. too many off-topic comments, content dispute/edit war, etc.) are all beyond the control of the post's content itself. In my opinion, removing the vote buttons highlights an off-topic question, and there is no need for extra highlighting if the reason for locking is beyond the control of the post's content.
Finally, to explain the difference in color between the comment buttons: I guess they both used to be the same color in the past, but then the style sheet for one of the types (frozen or locked) was forked. Later on, the global style sheet was modified to make the comment button a different color, and the one with the forked style sheet kept the old color as it wasn't also modified.