I was able to change the ScreenSize dynamically by writing the following code referring to the above code.
void UMyUtils::SetLOD(UStaticMesh* Mesh)
{
int32 NumLODs = Mesh->GetNumLODs();
if (NumLODs >= 4)
{
#if WITH_EDITORONLY_DATA
Mesh->bAutoComputeLODScreenSize = false;
#endif
#if WITH_EDITOR
Mesh->GetSourceModel(0).ScreenSize = 0.5;
Mesh->GetSourceModel(1).ScreenSize = 0.1;
Mesh->GetRenderData()->ScreenSize[2] = 0.05;
Mesh->GetSourceModel(3).ScreenSize = 0.002;
#endif
Mesh->GetRenderData()->ScreenSize[0] = 0.5;
Mesh->GetRenderData()->ScreenSize[1] = 0.1;
Mesh->GetRenderData()->ScreenSize[2] = 0.05;
Mesh->GetRenderData()->ScreenSize[3] = 0.002;
{
FStaticMeshComponentRecreateRenderStateContext ReregisterContext(Mesh, false);
Mesh->Modify();
}
}