The first is that librem may need to make changes that cannot be accepted by upstream. It can be features they need to have now to keep users happy. But another example could be that they want their Riot to default to their homeserver and not to matrix.org. You don't want to wait until you get a trademark conflict with the main project.
The second reason could be that Librem has to market their brand. If they keep Riot for example, people type it in google and end up on the official riot site, then it may be hard for Librem to attract new users.
> But another example could be that they want their Riot to default to their homeserver and not to matrix.org.
This isn't valid. They could absolutely ship Riot with its existing branding, with a config set to use their (or any other) homeserver. The matrix.org homeserver just happens to be the default (at the moment).
Imagine somebody using a Librem Riot version that has been modified to default to the Librem homeserver. Now that user needs to use Riot on a new device and ends up with the standard Riot. The user doesn't see any difference but just finds that it fails.
If the user calls Librem support then they have figure out what is going on. Which costs money and they still have a frustrated user.
Branding is often not about what is technically or legally possible, but about creating the right perception with users.
The first is that librem may need to make changes that cannot be accepted by upstream. It can be features they need to have now to keep users happy. But another example could be that they want their Riot to default to their homeserver and not to matrix.org. You don't want to wait until you get a trademark conflict with the main project.
The second reason could be that Librem has to market their brand. If they keep Riot for example, people type it in google and end up on the official riot site, then it may be hard for Librem to attract new users.