Is there a valid reason to alias a column to the exact same name/case? I inherited some code like this:

SELECT
  Col_1,
  Col_2 Col_2,
  Col_3
...


Does the Col_2 alias actually accomplish anything, or is it completely unneeded?
In the code as presented in your question, no there is no need but it will not cause any problems. The alias could be there because the column name used to be different and has been renamed, with the references to it being updated by some automated method.

I have sometimes deliberately aliased columns to the same name just to keep line syntax alignment when working with many columns some of which are aliased and some of which are not like so:

SELECT tbl1.col1          AS column1
     , tbl1.anothercolumn AS column2
     , tbl1.column3       AS column3
     , tbl2.somevalue     AS column4
FROM   ...


Here column 3 has an alias specified that is does not need as the output would have the desired name anyway.