How to resolve VHDL packages constant name clash?
You should be able to access items in each package separately by only useing the package, not its entire contents, then specifying which package to reference a constant or procedure in each time one is used. See example:

package p1 is
    constant C : integer := 1;
end package;
package body p1 is
end;

package p2 is
    constant C : integer := 2;
end package;
package body p2 is
end;

use work.p1;  -- Without `.all`
use work.p2;

entity e is
end;
architecture b of e is
    -- This constant can even have the same name as the one in the package
    constant C : integer := p1.C; 
    constant C2 : integer := p2.C;
begin
end b;