So this question asks about forming adjectives from nouns, but no clear answer is really given for a general method. In english, you can just use a noun as a adjective without any modification by placing the modifing noun before the modified noun. For instance, "chicken soup" chicken in this case is a noun adjunct. Does this work in latin? Can I say "pullum jus" for "chicken soup"? If I do this with two words of different genders (I fail to think of an example, but I'm sure it's possible) do I have to change the adjunct's gender to match?
Latin doesn't really form noun phrases in the same way that English does, by stringing together a collection of modifying nouns before the original noun. To a Roman, the phrase pullus iūs would have probably been interpreted as something akin to chicken and soup.
The only time you'll really find two nouns of the same case (and often number as well as gender) next to each other is if they are in apposition to each other, like in the following example, where is māgnus imperātor is in apposition to Gāius Iūlius Caesar.
Tōtum Galliae vīcit Gāius Iūlius Caesar, is māgnus imperātor ac reī pūblicae Rōmānae sub iugō attulit eius populum.
Gaius Julius Caesar, that great general, conquered the whole of Gaul and brought her people under the yoke of the Roman Republic.
If you want to construct a noun phrase like chicken soup (or others), the genitive of description is usually used. The ablative of description can also be used, but, to the best of my knowledge, it is not quite as common (examples might include phrases like vir summā virtūte). Using either of these, the phrase chicken soup can be rendered as such:
That said, however, be cautious when using the genitive or ablative to describe a noun; there is often a suitable adjective or alternative noun. Be cautious, most especially when you are working with abstract concepts. See this excellent answer by kkm for a good explanation of this.
The typical choice in Latin is to derive an adjective from the noun. I would translate "chicken soup" as ius gallinaceum. Deriving adjectives is nontrivial but inevitable. A genitive is a good second option, but not the primary choice in my experience. A noun can't be used as an adjective as you would in English, so you always need something more elaborate than chaining nouns.
Noun-Noun compounds like "chicken soup", "string theory", "banana box", etc. have been said to be possible/productive in some languages (e.g., in Germanic languages) but not in others (e.g., in Romance languages and in Latin). In linguistics this typological difference has recently been claimed to be accounted for by appealing to the so-called "Compounding Parameter", put forward by William Snyder (1995, 2001, 2012, 2016, i.a.). Typically, these Engl. Noun-Noun compounds are to be rendered into Latin by putting the first member of the English compound in genitive case: e.g., cf. Engl. string theory & Lat. theoria chordarum. Another option is the one commented on by Joonas in his answer, i.e., to derive an adjective from the first noun (e.g., cf. Engl. chicken soup & Lat. ius gallinaceum).
The alleged "Compounding Parameter" seems to be interesting (and intriguing!) because it is said to establish some unexpected correlations: e.g., according to Snyder, those languages that lack productive/creative Noun-Noun compounding of the Engl. "chicken soup" type also lack complex adjectival resultatives like "John wiped the table clean" and separable verb-particle constructions like "John worked his debts off". E.g., take a look at the next table extracted from the link above. See also his (2012) paper for an extensive discussion of the parameter. In principle, Latin can be said to provide evidence for Snyder's correlations above since this language lacks separable verb-particle constructions, complex adjectival resultatives, and (creative/productive) root N-N compounding. If Snyder's Compounding Parameter is correct (which is, in my opinion, a debatable issue and a too complex one to be reviewed here: e.g. see Section 2.2. of Levin & Rappaport Hovav's (2015/2019) OUP overview article on so-called "lexicalization patterns"), two apparently very different questions like the present one and another one I raised in this site on the absence of complex adjectival resultatives from Latin would essentially have the same (!) answer, namely, Latin is a [-T(he) C(ompounding) P(arameter)] language (in contrast, English is a [+ TCP] language). For a brief discussion of Snyder's Compounding Parameter applied to Latin, please see Section 6 (page 217) of this recent paper by Oniga (2020).