The below Console Application code explains you how to read SharePoint Managed Metadata Look-up (Taxonomy Field) value using Client Object Model.

using System;
using System.Text;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Taxonomy;

namespace CSOMRnD {
class Program {
static void Main(string[] args) {

using(ClientContext context = new ClientContext("SiteURL")) {
context.ExecutingWebRequest += new EventHandler(clientContext_ExecutingWebRequest);
context.AuthenticationMode = ClientAuthenticationMode.Default;
context.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

    List list = context.Web.Lists.GetByTitle("ListName");

    CamlQuery query = new CamlQuery();

    query.ViewXml = "pass your query";

    ListItemCollection items = list.GetItems(query);
    context.Load(items);
    context.ExecuteQuery();

    foreach(ListItem item in items) {
     StringBuilder sb_ProductFieldValue = new StringBuilder();

     TaxonomyFieldValueCollection taxProductFieldValueColl = item["Product"] as TaxonomyFieldValueCollection;

     if (taxProductFieldValueColl != null) {
      foreach(TaxonomyFieldValue taxProductFieldValue in taxProductFieldValueColl) {
       if (taxProductFieldValue.Label.Trim() != null) sb_ProductFieldValue.Append(taxProductFieldValue.Label + "|");
       else sb_ProductFieldValue.Append("Empty");
      }
     }
     Console.WriteLine(sb_ProductFieldValue.ToString());
    }
    Console.ReadLine();

}
}

static void clientContext_ExecutingWebRequest(object sender, WebRequestEventArgs e) {
e.WebRequestExecutor.WebRequest.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
}

}
}