"Still" modifies both "was" and "beautiful". It directly modifies "beautiful", and the clause "still beautiful" is part of the verb phrase "was still beautiful"; the phrase is a modification of "was".
To be still beautiful is a different sense of "to be" than to be beautiful. The "to be" is modified. And "beautiful" is modified. Basically what is modified is the overall meaning.
"Still" is syntactically closer to "beautiful" than to "was".
We can test this hypothesis by taking the phrase "was still beautiful" and removing each word in turn:
was beautiful [grammatical: "still" can be removed, showing "still" is not essential; it is not part of the backbone of the syntax]
still beautiful [grammatical: "was" can be removed, leaving "still beautiful" which functions independently of "was", as a unit]
was still [not grammatical if "still" is the adjective; only accidentally grammatical due to an unrelated meaning of "still" as an adjective meaning "unmoving and/or quiet"]
If we remove "beautiful", then the adverb "still" loses its connection to the clause resulting in something ungrammatical or with an altered meaning; this is evidence that "still" is connected to the syntax through the word "beautiful".
In the second sentence, "almost" cannot modify "effect" because it appears on the other side of "is". The pattern
* [noun] is almost
is not grammatical by itself: the word "almost" cannot be a complement to a noun by way of the verb "to be" (is, was, will be, ...).
Something is expected to follow "almost", and "almost" modifies whatever follows, such as "impossible". The pattern
[noun] is almost [adjective]
is grammatical, and "almost" modifies the adjective.
"Almost" can modify nouns by appearing in front of them: "almost a man", "almost the whole amount", "almost five dollars", etc. But "a man is almost" or "five dollars were almost" are not grammatical; these word combinations can appear as fragments of grammatical sentences.