Actually Address and Location are both Compound Fields (System.Address, System.Location) and a SObject (Schema.Address, Schema.Location).
These SObjects are used for Field Service Lightning.
I have missed some small note in the bottom of the documentation page
“Address” in Salesforce can also refer to the Address compound field
found on many standard objects. When referencing the Address object in
your Apex code, always use Schema.Address instead of Address to
prevent confusion with the standard Address compound field. If
referencing both the address object and the Address field in the same
snippet, you can differentiate between the two by using System.Address
for the field and Schema.Address for the object.
The same note is present in the documentation of Compound Field Address
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_system_Address.htm#apex_class_system_Address
“Address” in Salesforce can also refer to the Address standard object.
When referencing the Address object in your Apex code, always use
Schema.Address instead of Address to prevent confusion with the
standard Address compound field. If referencing both the Address
object and the Address standard field in the same snippet, you can
differentiate between the two by using System.Address for the field
and Schema.Address for the object.
So to fix this error, it is possible just to add 'Schema.' prefix to the passed name of an object.
String addressSObjectName = Schema.describeSObjects(new List<String>{'Address'})[0].getName();
System.debug(addressSObjectName);
DescribeSObjectResult objectDescribe = ((SObject)Type.forName('Schema.' + addressSObjectName).newInstance()).getSObjectType().getDescribe();
The similar note in located in the bottom of the documentation page for Location
“Location” in Salesforce can also refer to the geolocation compound
field found on many standard objects. When referencing the Location
object in your Apex code, always use Schema.Location instead of
Location to prevent confusion with the standard Location compound
field. If referencing both the Location object and the Location field
in the same snippet, you can differentiate between the two by using
System.Location for the field and Schema.Location for the object.
and in the documentation of Location Compount Field
“Location” in Salesforce can also refer to the Location standard
object. When referencing the Location object in your Apex code, always
use Schema.Location instead of Location to prevent confusion with the
standard Location compound field. If referencing both the location
object and the Location field in the same snippet, you can
differentiate between the two by using System.Location for the field
and Schema.Location for the object.
The code to fix this error will be very similar
String location = Schema.describeSObjects(new List<String>{'Location'})[0].getName();
System.debug(location);
DescribeSObjectResult objectDescribe = ((SObject)Type.forName('Schema.'+location).newInstance()).getSObjectType().getDescribe();