How are you setting meta value inside your web part? I am not sure it is possible because you need to access a current document from your web part something like `
protected void SetupControl()
{
CurrentDocument.DocumentPageDescription = "abc"; // WONT WORK! it is inaccessible
}
if your DocumentPageDescription is null the hierarchy is use. You get one desciption from kentico and one your web part (because you probably setting like in ASP.net)
I would create a custom macro and put into page description property. And the logic that you have in your web part - just move it in this macro. That will work!
on the other hand you may try override on prerender (try to put this in your web part):
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
Page.MetaDescription = "abc";
}