@tej,
@Heather is spot on, but in both cases you do have some additional options.
For the logo, you can manage this is as an image URL as Heather suggests. You likely will need an image hosting service to hold your logo icons, but there are many good free ones. My writeup for Data Challenge #7 and the accompanying video walk through this in detail.
Another option is to convert your logo to base64 format, in which case it can be held as a field value within Power BI without having to go out to the Internet. The one thing you have to watch for here is images can quickly exceed the single cell capacity within Power Query. That’s why I like this particular base64 converter, because it has a good compression algorithm that often keeps reasonable size files under the 32,766 character limit (for larger images, there is a way to cheat around this limit by stitching multiple columns values together using DAX).
For the themes, Heather is right that you can’t dynamically switch JSON themes in Power BI. Yet, like many things you can’t technically do in PBI , you can create a pseudo-version that mimics that functionality. In this case what you could do is have a button linked to page navigation action that switches you between two pages with different backgrounds, color schemes, font choices, logos, etc. It wouldn’t technically be different “themes” but to the user it would have the same effect.
I hope this is helpful.
– Brian