That's what I get in Caillou & Leite (2009) and the article "Main stress in Italian nonce nouns" by Martin Krämer. The latter brings a case where vowel length is proven to be contrastive (ancóra/áncora, metà/mèta) but mentions that some authors still refute the idea. Could it be because they are considering vowel length and stress as things apart? They can surely be apart, but stress in Italian is mostly length, isn't it?
The main reason is that it is (given the definition of contrast) not contrastive. The exercise of phonemicization requires that you start with phonetically transcribed data, not removing phonetic facts on the premise that something is predictable, and then look at the distribution of properties. If you find, in the phonetic data, that there are minimal pairs exemplifying a difference in vowel length and nothing else, then vowel length is contrastive. Otherwise it is not contrastive. You have to do further analysis to decide what is predicted on the basis of what else.
There is a connection between stress and vowel length: stressed vowels in open non-final syllables are long, other vowels are short. The question of whether stress is primary or length is primary is a secondary analytic one, so the fact that length isn't contrastive does not mean that length must be underlyingly present – stress and consonant length might be what are underlyingly present, and vowel length is predictable on that basis. Two phonological treatments of this matter are given here and D'Imperio & Rosenthall 1999 here (not the published version appearing in Phonology), as well as Saltarelli 1970 A Phonology of Italian in a Generative Grammar. There are not particularly strong arguments that vowels have a categorial length distinction, as opposed to a continuous phonetic duration difference.
"Stress in Italian is mostly length, isn't it?"
I'm not sure what you mean by this. If you mean "stress in Italian is mostly realized as phonetic length", it might or might not be true, but it isn't what linguists tend to mean when they talk about a language having "contrastive vowel length". English has vowels of different lengths in pairs like feet and feed, but that isn't considered to be an example of contrastive vowel length. "Contrastive vowel length" is a theoretical concept.
Furthermore, I don't think it's even true that stress in Italian can be reduced to phonetic length. I have the impression that stressed final syllables have short vowels, and vowels in closed syllables have short vowels, so I think that the words città and villa both have short vowels in both syllables, but città is stressed on the second syllable and villa is stressed on the first syllable.
It's certainly incorrect to say that "vowel length is proven to be contrastive" in ancóra/áncora, metà/mèta. The phonetic transcriptions that Krämer gives for these pairs are [mɛ́ː.ta] [me.tá] and [áŋ.ko.ra] [aŋ.kóː.ra]. Note that for the first pair, [mɛ́ː.ta] [me.tá], there is not only a difference in the length of the vowel in the first syllable, but also in the position of the stress and in the quality of the first vowel. The second pair doesn't have a quality distinction, but does have a stress distinction.
The authors who say that Italian does not have contrastive vowel length are not "considering vowel length and stress as things apart"; they are considering vowel length as a part of what it means for an Italian syllable to be stressed. Italian stress is related to more than just vowel length; for example, it also is related to vowel quality (many accents of Italian are described as having 7 distinct vowel qualities in stressed syllables, but only 5 distinct vowel qualities in unstressed syllables) and consonant length (in some accents of Italian, we can make the generalization that words that end in a stressed vowel trigger gemination when possible at the start of a following word).