Assuming the wall is OK, you definitely need to use a stain-blocker before you repaint. KILZ is the go-to for this, but check with a paint store. There are some really cool products out there.
If it appeared after several years, then reappeared some months after a repaint, it seems a good sealer/stain-block is needed (as others have said).
Go to a real paint store (i.e. not Lowes or Home Depot) and get a professional opinion and good paint. A good stain blocker + good paint ought to fix it!
Prime first with Kilz. I’ve used the product for years and it provides an excellent barrier between old paint and new. Your walls may have been painted with oil paint and now you’re trying to coat with latex. They’re really not compatible.
It would help if you mentioned the kind of paint you used, how you applied it and the environment of the room. Going by the pics, it could be frosting. One way to find out is to wash the streaks with a damp cloth. Does it disappear when wet then reappear when dry? If so, then it’s most likely frosting.
To fix it, you’ll need to apply a waterproofing primer or a resin-based primer before adding a new topcoat. The key is to prevent surface moisture contamination.