A class is defined using a . and an ID is defined using a #. So as far as the browser is concerned, they're two totally separate items.
The only thing to be careful of is generating any confusion for yourself. It's probably best practise to keep the names different purely for code readability, but there's no harm in them being the same.
No, there is nothing wrong, but it might be better to use different names to not confuse other developers. It is more (human) error prone to use different names.
The only problem with having same name for class and id is code readability and maintainability. They can have the same names, the browser will render the correct CSS as classes and ids are marked differently (. for class and # for id), but an upgrade or bug fix can be a problem for the developer.