Setting "Embed Interop Types" to "false" in Visual Studio is the correct thing to do, and indeed, some of your errors with regard to some of your assembly references would be resolved after setting that value to false. This is a general rule of thumb when migrating ArcObjects code from an older to a newer version.
For a more detailed explanation, please view the MSDN help page on embedded Interop Types.
Type Equivalence and Embedded Interop Types
https://msdn.microsoft.com/en-us/library/dd997297(v=vs.110).aspx